博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信公众号开发之用户地理位置坐标转百度坐标
阅读量:6519 次
发布时间:2019-06-24

本文共 3785 字,大约阅读时间需要 12 分钟。

微信公众号开发之用户地理位置坐标转百度坐标(搜狗、google地图坐标转百度地图坐标)

我们知道,Google地图、soso地图与百度地图的坐标是不一样的,通常会差挺远一段距离。因此我们在微信中使用百度地图导航等百度地图API时,若根据微信获取的用户位置信息的话,得到的结果通常是不准确的。这时我们就需要把微信获取的用户位置坐标转换成百度地图对应的坐标才可以。

 

下面是我们在微信公众号中获得的用户位置的XML数据包(用户主动发送来的位置,开通高级接口的可以主动获取用户信息,获取结果参考):

1351776360
23.134521
113.358803
20
1234567890123456

参数说明:

参数 描述
ToUserName 开发者微信号
FromUserName 发送方帐号(一个OpenID)
CreateTime 消息创建时间 (整型)
MsgType location
Location_X 地理位置维度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息
MsgId 消息id,64位整型

我们需要做的是把 Latitude 和 Longitude 转换成百度地图对应的坐标():

百度地图坐标转化API组成说明():

  • 域名:
  • 服务名:geoconv
  • 服务版本号:v1

服务参数说明

参数 含义 取值范围 是否必须 默认取值
coords 源坐标 格式:经度,纬度;经度,纬度…限制:最多支持100个格式举例:114.21892734521,29.575429778924;114.21892734521,29.575429778924
ak 开发者密钥  
from 源坐标类型 取值为如下:1:GPS设备获取的角度坐标;2:GPS获取的米制坐标、sogou地图所用坐标;3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标4:3中列表地图坐标对应的米制坐标5:百度地图采用的经纬度坐标6:百度地图采用的米制坐标

7:mapbar地图坐标;

8:51地图坐标

默认为1,即GPS设备获取的坐标
to 目的坐标类型 有两种可供选择:5、6。5:bd09ll(百度经纬度坐标),6:bd09mc(百度米制经纬度坐标); 默认为5,即bd09ll(百度坐标)
output 返回结果格式 json或者xml json

返回值说明

名称 类型 含义 取值范围
status init 状态码 正常0,异常非0,详细见状态码说明
result json或者xml数组 转换结果 与输入顺序一致
  x float 横坐标  
y float 纵坐标  

 

下面上代码:

1351776360
23.134521
113.358803
20
1234567890123456
";$object = simplexml_load_string($postData, 'SimpleXMLElement', LIBXML_NOCDATA); $lat = $object->Location_X; //纬度$lng = $object->Location_Y; //经度//这里from参数用1会更加精准。1:GPS设备获取的角度坐标,wgs84坐标;$q = "http://api.map.baidu.com/geoconv/v1/?coords={$lng},{$lat}&from=3&to=5&ak=你的API KEY";$result = json_decode(file_get_contents($q));
echo "转换前的经度:".$lng."
";echo "转换后的经度:".$result->result[0]->x."
"; echo "转换前的纬度:".$lat."
";echo "转换后的纬度:".$result->result[0]->y."
"
 
这块用到了百度地图的坐标转换API
http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition
 

产品介绍

百度地图坐标转换API是一套以HTTP形式提供的坐标转换接口,用于将常用的非百度坐标(目前支持GPS设备获取的坐标、google地图坐标、soso地图坐标、amap地图坐标、mapbar地图坐标)转换成百度地图中使用的坐标,并可将转化后的坐标在百度地图JavaScript API、车联网API、静态图API、web服务API等产品中使用。注意Android SDK、iOS SDK、定位SDK和导航SDK坐标转换服务需 。

点击查看

适用场景

该接口适用于需将非百度地图坐标的坐标进行转化,进而将其运用到百度地图开发的用户。该接口还支持批量坐标转化,一次最多可转换100个坐标点。

使用限制

 使用坐标转服服务前,首先需要登录申请密钥ak,坐标转换服务属于for server类应用

 坐标转换服务每日请求次数上限为10万次,每次最多支持100个坐标点的转换,若需更高配额,请以获取更高配额和更及时技术支持。

使用方法

第一步,,作为访问服务的依据;

第二步,按照请求参数说明拼写发送http请求的url,注意需使用第一步申请的ak;

第三步,接收返回的数据(json或者xml格式)。

注:本接口支持回调。另外,同一个GPS坐标多次转为百度坐标时,每次转换结果都不完全一样,误差在2米范围内,属于正常误差,不影响正常使用。

服务地址

http://api.map.baidu.com/geoconv/v1/?

组成说明:

域名:api.map.baidu.com

服务名:geoconv

服务版本号:v1

服务参数说明

参数 含义 取值范围 是否必须 默认取值
coords 源坐标

格式:经度,纬度;经度,纬度…

限制:最多支持100个

格式举例:

114.21892734521,29.575429778924;

114.21892734521,29.575429778924

 

ak 开发者密钥  
sn 用户的权限签名   若用户所用ak的校验方式为sn校验时该参数必须。 (sn生成算法)
from 源坐标类型

取值为如下:

1:GPS设备获取的角度坐标,wgs84坐标;

2:GPS获取的米制坐标、sogou地图所用坐标;

3:google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标,国测局坐标;

4:3中列表地图坐标对应的米制坐标;

5:百度地图采用的经纬度坐标;

6:百度地图采用的米制坐标;

7:mapbar地图坐标;

8:51地图坐标

 

默认为1,即GPS设备获取的坐标
to 目的坐标类型

有两种可供选择:5、6。

5:bd09ll(百度经纬度坐标),

6:bd09mc(百度米制经纬度坐标);

 

默认为5,即bd09ll(百度坐标)
output 返回结果格式

json或者xml

 

json

返回值说明

名称 类型 含义 取值范围
status init 状态码 正常0,异常非0,详细见状态码说明
result json或者xml数组 转换结果 与输入顺序一致
  x float 横坐标  
  y float 纵坐标  

接口示例

参数
coords 114.21892734521,29.575429778924;114.21892734521,29.575429778924
from 1
to 5

json 示例:

http://api.map.baidu.com/geoconv/v1/?coords=114.21892734521,29.575429778924;114.21892734521,29.575429778924&from=1&to=5&ak=你的密钥

状态码说明

状态码 含义
1 内部错误
4 转换失败(X→GPS时必现,根据法律规定,不支持将任何类型的坐标转换为GPS坐标)
21 from非法
22 to非法
24 coords格式非法
25 coords个数非法,超过限制

更新日志

2014.3.6坐标转换API v1.0产品发布。

 

转载于:https://www.cnblogs.com/kenshinobiy/p/6645245.html

你可能感兴趣的文章
模块化Javascript代码的两种方式
查看>>
Money去哪了- 每日站立会议
查看>>
Python数据结构和算法学习笔记1
查看>>
正则之从dom字符串中提取url
查看>>
大数据——基础概念
查看>>
机器学习温和指南
查看>>
最短路-Bellman-Ford算法
查看>>
Object 类有哪些方法
查看>>
oracle 将一个表复制到另外一个表里 .
查看>>
leetcode--
查看>>
访问者模式
查看>>
jQuery清空标签内容--防止内存泄露
查看>>
关于 HandlerMethodArgumentResolver 类 以及 WebArgumentResolver 类 自定义解析参数
查看>>
比RBAC更好的权限认证方式(Auth类认证)
查看>>
httpd之编译安装详解
查看>>
服务器磁盘采购分析
查看>>
PHP中is_callable()函数的用法详解
查看>>
Node.js股票模拟交易后台
查看>>
android动画
查看>>
新书试读_信息系统项目管理师考试考点分析与真题详解
查看>>