热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

百度地图开发坐标问题总结

PC端使用了百度地图搜索位置并显示在地图上最后获取位置的经纬度坐标移动端分别使用了百度地图获取实时经纬度获取文字地址定位在地图上其中发现很多问题及时总结下坐标系种类和使用现状当前国

PC端使用了百度地图搜索位置并显示在地图上 最后获取位置的经纬度坐标
移动端分别使用了百度地图获取实时经纬度 获取文字地址 定位在地图上
其中发现很多问题 及时总结下

坐标系种类和使用现状

当前国内地图参考系分三种:

  1. WGS84坐标系
    直接从GPS获取器中取出的原始数据 国际地图供应商使用的坐标系

  2. GCJ-02火星坐标系(国测局坐标系)
    中国标准 国行GPS产品获取到的数据使用的坐标 国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。

  3. BD-09百度坐标系
    百度标准,百度 SDK,百度地图,Geocoding 使用 本来就乱了,百度又在火星坐标上来个二次加密

三种参考系的使用情况:

  1. 国外如google地图 H5浏览器使用的都是WGS参考系

  2. 国内的大多数如 腾讯地图 高德地图 iOS地图(高德地图) 均是使用的火星坐标系

  3. 百度获取地理位置的方法 得到的坐标是百度坐标 (百度是基于浏览器获取地理位置方法进行了封装)

三种坐标系转换情况:

  1. 高德地图提供了WGS转火星坐标的方法

  2. 百度地图提供了WGS转百度地图的方法

  3. 微信获取地理位置默认WGS 可选择为火星坐标

三种坐标系的数据相对于真实位置对比

真实位置:北京市朝阳区洛娃大厦C座 116.475176 40.018079

地图上显示位置:

1.WGS

clipboard.png

以上是WGS真实坐标应该在百度地图上显示的位置

2.火星坐标

如果认为上述坐标为火星坐标时候 将其显示在百度地图上 位置则会发生偏移

clipboard.png

3.百度坐标

如果又将上诉坐标认为是百度坐标时 将其显示在百度地图上 位置则有发生偏移

clipboard.png

可见加密过的坐标 均相对于真实坐标向西南角偏移 直线距离大概一公里

所以 当通过某种获取地理位的方式获取到坐标 而不知道其实什么坐标系的时候
可用上诉方法找个真实坐标对比 快速判定其坐标系
用图表示

clipboard.png

可以看到 三种坐标系转换的方法 是不全面的
高德和百度只提供转到其自己坐标系的转换方法 不支持转出其他坐标系的方法

现在项目遇到的情况
数据库保存的是在PC端设置的 WGS坐标
移动端获取的百度坐标系
两者之间进行距离计算 需要转换

明白了各种获取位置是什么坐标系的
再明白了各种坐标系之间的转换就容易多了

坐标系转换方法

这里安利github上一个人做的转换方法(star 565)
里面可以实现各种坐标的来回转换 极大地方便了开发使用
wandergis/coordtransform

另外可以查看各个坐标相对于真实位置的地图位置工具
在线经纬度查询

大概就是这样



推荐阅读
  • 智能家庭如何摆脱“伪智能”困境?
      文/宿命在纠结:2014-12-04  智能家庭是今年超级火爆的领域,一波波的硬件层出不穷,从智能路由、智能摄像头、智能插座、智能空调到最近又开始兴起的智能空气净化器,不过大多 ... [详细]
  • 2019 年 Firebase 峰会上发布的新功能
    作者FrancisMa,HeadofProductFirebase的使命是帮助移动开发者和Web开发者迈向成功,但考虑到Firebase每个月有超过200万个活跃的应 ... [详细]
  • 1.研究背景及其意义互联网从发展到至今,已经深入到人们的日常生活中,并且不论老人还是小孩,多少都会接触到互联网。在这个越来越信息化的社会& ... [详细]
  • AsyncDisplayKit2.0教程(下)
    AsyncDisplayKit2.0Tutorial:AutomaticLayout原文:AsyncDisplayKit2.0Tutorial:Automatic ... [详细]
  • 【题意】点击打开链接【分析&解题思路】除去起点(1,1)和终点(n,m)已经固定,中间能经过的是一个(n-2)*(m-2)的矩阵然后我们可以在这个矩阵里取0个(就是直接从起点跳到 ... [详细]
  • “新建安卓工程时,src与res目录下没有自动生成的.java和.xml文件“的解决
    在自学编程的过程中,由于没有老司机带路,环境搭建是一个非常容易出小错误而且很难找错的过程。此次JAVA环境搭建好,并进行JAVA基础的学习之后,搭建安卓环境。我默认下了目前较高版本 ... [详细]
  • 服务器性能优化之网络性能优化
    hi,大家好,今天分享一篇后台服务器性能优 ... [详细]
  • 微信小程序发布引起轰动
    首页资讯人物态度新闻段子知识产品公司活动专题黑镜物是No!登录为什么微信深夜发布的“小程序”引动了开发者的大地震?盛威12小时前新闻传说中的微信“应用号”终于要来了& ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • iOS开启Google位置服务器和显示定位权限的方法
    本文介绍了在iOS开发中如何开启Google位置服务器和显示定位权限的方法,包括导入CoreLocation和MapKit库、在界面导入头文件和在info.plist文件中添加授权等步骤。同时还介绍了iOS11中NSLocationAlwaysAndWhenInUseUsageDescription的功能变化。阅读本文可以帮助开发者了解如何在iOS应用中使用Google位置服务器和处理定位权限相关的问题。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
author-avatar
东cz莞痴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有