android 百度地图 wgs84和baidu09坐标转换

2023-10-26

wgs84: gps获取出来的坐标就是wgs84标准的,但在国内不允许在互联网上直接使用这种坐标(应该是出于某些安全问题),所以就有了加密后的坐标baidu09. 

“国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密。百度坐标在此基础上,进行了BD-09二次加密措施,更加保护了个人隐私。” -- 百度地图常见api中是这么回答的。 

现有的标准好像有好多:baidu, google, 搜狗, soso, 基本自己实现地图的都有自己的一套标准。 

但要用百度地图的话必须要转换,搜了一下大概有这几种方式: 
1. 通过web接口转换:http://blog.yyable.com/?p=342 
2. 通过公式转换http://blog.yyable.com/?cat=9(只是在google和baidu间转, 没有gps和baidu转的) 
3. 如果使用的是android的百度地图api的话里面有现成的转换类: 
Java代码   收藏代码
  1. /*** 
  2.  * <p> 将坐标系统转换为baidu09加密的坐标系统. </p> 
  3.  * @param geoPt 要转换的坐标 
  4.  * @param coordType 当前坐标的类型 
  5.  * @return 转换后的baidu09坐标 
  6.  */  
  7. public static GeoPoint convertToBaidu09Coord(GeoPoint geoPt, int coordType) {  
  8.     GeoPoint retGeoPt;  
  9.     Bundle bundle;  
  10.     switch (coordType) {  
  11.     case MKLocationManager.MK_COORDINATE_WGS84:   
  12.         bundle = CoordinateConvert.fromWgs84ToBaidu(geoPt);  
  13.         retGeoPt = CoordinateConvert.bundleDecode(bundle);  
  14.         break;  
  15.     case MKLocationManager.MK_COORDINATE_GCJ:  
  16.         bundle = CoordinateConvert.fromGcjToBaidu(geoPt);  
  17.         retGeoPt = CoordinateConvert.bundleDecode(bundle);  
  18.         break;  
  19.     case MKLocationManager.MK_COORDINATE_BAIDU09:  
  20.     default:  
  21.         retGeoPt = geoPt;  
  22.         break;  
  23.     }  
  24.     return retGeoPt;  
  25. }  

不过要注意的是:这个方法必须在百度地图启动后才能使用(BMapManager.start()后), 否则将原样放回; 好像它内部是通过socket的方式请求服务器转换的. 

相关链接: 
http://blog.yyable.com/?cat=9  
http://blog.yyable.com/?p=342  
http://www.cnblogs.com/jz1108/archive/2011/10/11/2207245.html  
http://www.biaodianfu.com/baidu-ditu-api-map-coordinate.html?replytocom=366  
http://www.cnblogs.com/yixinliu/archive/2012/07/26/2609631.html  
base64编码, 解码工具 http://www.baidu.com/s?wd=base64+%E5%9C%A8%E7%BA%BF&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_sug3=14&rsv_sug=0&rsv_sug1=7&rsv_sug4=921
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android 百度地图 wgs84和baidu09坐标转换 的相关文章

  • 返回重复假期活动的日历

    我发现 当有两个帐户链接到他们的设备 并且两个帐户都同步其日历 并且两个帐户都设置为显示 Google 假日日历时 CalendarContract Instances 将每个假日返回两次 每个帐户返回一次日历 因此 在这种情况下 您会看到
  • 运行带有 QVGA 的 Android 1.6 的模拟器上的缩放控件

    我正在模拟器中的不同 AVD 设置上测试我的应用程序 并在仅使用 QVGA 分辨率 lcd 密度 120 的 Android 1 6 上的 MapView 中遇到缩放控件问题 当点击屏幕以显示缩放控件时 放大 加号显示得比缩小大得多 这似乎
  • 如何更新不是我自己创建的 APK 的版本

    我是 Android 开发新手 我正在使用 x 平台开发工具 它为我构建并签署 APK 该工具有一个错误 它不会使用我指定的版本代码生成 APK 所有生成的 APK 都是版本 1 0 我想解压APK 编辑版本代码 然后辞职并重新打包 它最初
  • Windows 7 64位android AVD启动错误:无法分配内存:8

    我刚刚更新到 Android SDK Tools r20 并尝试在 android 4 1 和 WXGA 上创建 avd 但是当我启动 AVD 时收到错误消息 配置 ini hw mainKeys no hw lcd density 320
  • 将 match_parent 转换为“0dp”

    当我使用android layout height match parent or android layout width match parent 作为约束布局中子项的高度 宽度并构建 Gradle 文件 它会自动更改为android
  • 如何从 Android 服务获取应用程序上下文?

    我有一个正在运行并监听麦克风输入的 Android 服务 我希望它在满足特定条件时启动一项活动 为了创建意图 我需要应用程序上下文 我怎么才能得到它 Intent i new Intent ctx SONR class i addFlags
  • 动态添加的 RemoteView 上的布局权重

    在我的小部件中 我使用以下内容将项目 R layout widget item 动态添加到我的主小部件布局中定义的 LinearLayout 中 Main widget layout RemoteViews views new Remote
  • 如何判断Android设备是否有触摸屏?

    我花了相当多的时间让我的 UI 仅支持键盘输入 但最终我不确定我是否可以相信 Android 设备都有触摸屏的假设 有没有办法判断Android设备是否有触摸屏 您应该研究现有设备并阅读Android 兼容性定义文档 http source
  • Android Ant项目参考

    我有一个 Android 项目 它有一个 Java 项目文件夹引用 我是用eclipse开发的 现在我想用Ant编译 我想在 build xml 中添加内容以包含引用 假设您的项目名为 HelloListview 比如说 并且您希望所有 A
  • Android sqlite 缺少列

    我的 SQLite 数据库缺少一个我知道存在的列 我将无法从 Android 模拟器中提取数据库 因为如果不重写大量代码 就无法使用模拟器填充数据库 logcat 返回sqlite returned error code 1 msg tab
  • Android SearchView 自定义

    我是 Android 新手 我被困在一些我认为很简单但我很困惑的事情上 我需要不在操作栏 工具栏中而是在我的相对布局中创建自定义 searchView 问题是我不知道如何自定义背景 文本输入颜色 XML 中的搜索图标颜色 或者只是它们的属性
  • 加入牛轧糖热点

    我的应用程序有 2 个按钮 一个用于创建热点 另一个用于加入热点 流程是 我在其中一台设备上创建一个热点 然后尝试将其与其他设备连接 通过我的应用程序 问题是 有时我无法加入由 Nougat 设备创建的热点 它会卡在 获取 IP 地址 上
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • FirebaseAuth.getInstance().signOut() 不注销

    我尝试从 firebase 注销用户 但在关闭应用程序并再次打开后 用户仍然处于连接状态 我尝试从 firebase 定期注销用户 但没有解决问题 我想知道是什么导致了这个问题 logout setOnClickListener new V
  • Android 中何时使用服务、何时不使用服务

    我从事Android开发已经不到两年了 我仍然对这个看似简单的问题感到困惑 何时应该实施一项服务 根据我的经验 有一些罕见的情况 但我对此表示怀疑 因为每部手机上都运行着很多这样的情况 我怀疑这只是一个糟糕的应用程序设计 这本质上是我的问题
  • 在 Android 中创建硬链接和符号链接

    我正在创建一个应用程序 我想在其中使用 Android 外部内存文件系统中的硬链接和符号链接 我尝试过使用命令 Os link oldpath newpath Os link oldpath newpath 但是 当我尝试这样做时 我收到此
  • Firebase 令牌未生成

    我得到的令牌未生成 onTokenrefresh 没有调用 谁能帮忙 它已连接到 firebase 但令牌仍然没有生成 public class MyFireBaseInstanceId extends FirebaseInstanceId
  • Android:警报对话框消失并执行下一个意图

    我正在使用禁用 GPS 的 AlertDialog 一旦用户启用 GPS 我就会通过 Intent 转到另一个 Activity 问题是 AlertDialog 出现 然后移动到下一个活动 然后我才能单击对话框上的任何按钮 我需要做什么才能
  • SDK管理器不显示示例包选项

    我关注的是安卓安装示例的开发人员链接 http developer android com tools samples index html包裹 但是 当我展开Android平台的包列表时 没有 SDK示例 选项 复选框 可用 为什么 我已
  • 如何使用 androidX 不破坏片段

    现在 我尝试 androidX 导航和底部导航栏 当我像下面一样使用它时 supportFragmentManager getSupportFragmentManager navHostFragment NavHostFragment su

随机推荐

  • 2022年秋招求职#end——华为单板硬件

    九月初就在官网创建了简历 但是当时并没有投简历 记录中却是已经投递简历了 害我以为一直都是石沉大海的状态 十月底江哥问我华子怎么样 有没有消息 我才上去官网看 然后重新投递 第一个志愿是逻辑 就是江哥的部门 第二个志愿是老本行电源 然后十月
  • git --login-i_使用Git- Part -I:基础知识

    git login i 介绍 Git是由Linux OS的创建者Linus Torvalds创建的流行的分布式版本控制系统 因此 您可能已经猜到它首先用于版本控制Linux内核代码 它广泛用于大多数开放源代码和封闭源代码软件的开发中 得益于
  • 第四课,视图的显示选项和光照部分

    主要讲了视图的两部分 一个是光照等 一个是说了显示部分 外界的宏观部分
  • css实现渐变色

    日常中最常用到的渐变色是背景和边框 一条线的渐变色可以考虑使用div 然后根据需求设置高度 两种 首先来了解一下绘制渐变色的角度与方向 第一种 背景 使用到的属性为background 接下来看三个关于背景渐变最常用到的实例 有详细注释 方
  • Azure Key Vault(2):创建Azure Key Vault

    如果想要了解Key Vault是干什么的 可以看我的上一篇博文 这里我会说一下如何来创建Key Vault并使用它来保存一个D365连接字符串 如下 AuthType ClientSecret url https contoso 8080
  • 什么是泛型?

    目录 一 什么是泛型 二 泛型方法 三 泛型接口 四 通配符 4 1 通配符 4 2 上限通配符 4 3 下限通配符 4 4 类型擦除 一 什么是泛型 泛型 就是指在类定义时不会设置类中的属性或方法参数的具体类型 而是在类使用时 创建对象
  • request,response中文乱码问题

    request response中文乱码问题 request乱码 浏览器向服务器发送的请求参数中包含中文字符 服务器获取的请求参数的值是乱码 response乱码 服务器向浏览器发送的数据包含中文字符 浏览器中显示的是乱码 产生乱码的原因
  • Android多线程之同步锁的使用

    本文主要介绍了Android多线程之同步锁的使用 分享给大家 具体如下 一 同步机制关键字synchronized 对于Java来说 最常用的同步机制就是synchronized关键字 他是一种基于语言的粗略锁 能够作用于对象 函数 cla
  • STL:list

    首先包含头文件 include
  • 【vue3】使用reactive定义对象或数组时的巨坑

    vue3中 使用ref或者reactive定义数据 let ruleForm reactive appId serviceId creatorId 如果要修改appId的值 就是 ruleForm appId 123 如果此时ruleFor
  • 【C++深入探索】Copy-and-swap idiom详解和实现安全自我赋值

    任何管理某资源的类比如智能指针需要遵循一个规则 The Rule of Three 如果你需要显式地声明一下三者中的一个 析构函数 拷贝构造函数或者是拷贝赋值操作符 那么你需要显式的声明所有这三者 拷贝构造函数和析构函数实现起来比较容易 但
  • synchronized总结

    目录 一 synchronized的特性 1 1 原子性 1 2 可见性 1 3 有序性 1 4 可重入性 二 synchronized的使用 2 1 修饰普通方法 2 2 修饰静态方法 2 3 修饰代码块 三 synchronized的锁
  • tf1-estimator的使用

    estimator是tf中的高级API 犹在layers上 使用这个API时 只需要把输入对应正确 就可以直接通过设置参数 调用接口的方式进行训练 通过这种方式可以使代码具有很强的结构性 看着十分清晰 但是 也有缺点 因为不需要自定义tra
  • python 处理Excel 常见问题-读取Excel中时间

    Excel 时间读取 当本地Excel存有一个时间列时 使用下面代码读取Excel import xlrd book xlrd open workbook demo xls sheet book sheet by name Sheet1 f
  • MYSQL 窗体汇总函数

    如果我们想要汇总当天数据 当月数据 当年数据的 如果不懂窗体函数 可能会比较费劲 那小编就说了 我用java处理同样可以达到效果啊 可问题是 明明有现成的函数 为啥要用java处理 当然同时 java会不停的判断时间范围 严重影响性能 当我
  • node基础之一:fs 模块

    概念 文件的创建 删除 重命名 移动 写入 读取等 const fs require fs 写入 fs writeFile demo txt hello err gt fs writeFileSync 追加 fs appendFile de
  • python将pandas数据转为spark的dataframe格式保存到hive中

    使用python在调用集群跑数据之后 数据以pandas计算 输出的结果保存到hive数据库中 最老套的办法 注意 这里的spark版本是1 6 步骤 from pyspark sql import HiveContext from pys
  • 前端 animation 动画(用的到的都写了)直接用animate库最方便用法加粗了

  • IPsec

    IPsec IPsec IP Security IP安全 是IETF制定的三层隧道加密协议 它为互联网上传输的数据提供了高质量的 基于密码学的安全保证 是一种传统的实现三层VPN Virtual PrivateNetwork 虚拟专用网络
  • android 百度地图 wgs84和baidu09坐标转换

    wgs84 gps获取出来的坐标就是wgs84标准的 但在国内不允许在互联网上直接使用这种坐标 应该是出于某些安全问题 所以就有了加密后的坐标baidu09 国际经纬度坐标标准为WGS 84 国内必须至少使用国测局制定的GCJ 02 对地理