标签:
PHP关于其他坐标转换为百度地图坐标
百度地图api格式:
http://api.map.baidu.com/geoconv/v1/coords=116.440488,39.920026;114.21892734521,29.575429778924&output=xml&from=3&to=5&ak=你的ak
当然,在这里如果想把原坐标点改为传入的位置,可以写成
http://api.map.baidu.com/geoconv/v1/?coords={$latitude},{$longitude}&output=xml&from=3&to=5&ak=你的ak
参数 | 含义 | 取值范围 | 是否必须 | 默认取值 |
---|---|---|---|---|
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 |
用浏览器打开以上网址,会发现返回的xml为:
<GeoconvResponse>
<status>0</status>
<result>
<point>
<x>116.4470341129</x>
<y>39.925838045682</y>
</point>
<point>
<x>114.22539195429</x>
<y>29.581585367458</y>
</point>
</result>
</GeoconvResponse>
在知道返回xml内容格式的条件下,我们就可以取得转换后的百度坐标。
$convurl="http://api.map.baidu.com/geoconv/v1/?coords={$latitude},
{$longitude}&output=xml&from=3&to=5&ak=你的ak";
$data = file_get_contents($convurl);
$array = simplexml_load_string($data);
$lat=$array->result->point[0]->x;
$log=$array->result->point[0]->y;
$lat,$log的值即为转换后的百度地图坐标。
标签:
原文地址:http://www.cnblogs.com/syd08/p/5392874.html