经纬度定位 - php 经纬度坐标转化
本文介绍了经纬度定位 - php 经纬度坐标转化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.如何实现以下数据,把坐标显示在百度地图上
经度 纬度
112˚49.0382´ 23˚59.3728´
112˚49.0248´ 23˚59.1681´
112˚49.1274´ 23˚59.034´
112˚49.1986´ 23˚58.9272´
112˚49.394´ 23˚58.6538´
112˚49.3983´ 23˚58.654´
112˚49.4483´ 23˚58.5872´
112˚49.509´ 23˚58.5099´
112˚50.1618´ 23˚58.2176´
解决方案
话说题主这个数据居然是使用带分的度数来表示。囧。而百度API一般都是只要浮点型的度数。这之间需要做一个解析转换。
而PHP中对度数的˚
符号的处理好尴尬:
我建议把˚
先处理下,然后再解析转换,如:
function parseDegree($s) {
$s = str_replace(['˚', '´'], ['D', ''], $s);
if (preg_match('/^(\d+)D(\d+(?:\.\d+))$/', $s, $m)){
return $m[1] + $m[2] / 60.0;
}
return false;
}
使用这个函数就可以将题主的数据转换成百度地图API所需要的格式了,如:
>>> parseDegree('112˚49.0382´')
=> 112.81730333333
>>> parseDegree('23˚59.3728´')
=> 23.989546666667
各种地图API的链接楼上都已经贴了,我就不罗嗦了
这篇关于经纬度定位 - php 经纬度坐标转化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文