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

百度地图API拾取坐标

坐标拾取(百度)http:api.map.baidu.comlbsapigetpointindex.html坐标拾取(腾讯)http:lbs.qq.comtoolg

坐标拾取(百度)

http://api.map.baidu.com/lbsapi/getpoint/index.html

坐标拾取(腾讯)

http://lbs.qq.com/tool/getpoint/


4LFBZ-2Y3WU-PF7VA-4U5JF-3HLK6-7EBJW

计算两坐标之间距离如下

function getDistance($lat_a, $lng_a, $lat_b, $lng_b) {
//R是地球半径(米)
$R = 6366000;
$pk = doubleval(180 / 3.14169);

$a1 = doubleval($lat_a / $pk);
$a2 = doubleval($lng_a / $pk);
$b1 = doubleval($lat_b / $pk);
$b2 = doubleval($lng_b / $pk);

$t1 = doubleval(cos($a1) * cos($a2) * cos($b1) * cos($b2));
$t2 = doubleval(cos($a1) * sin($a2) * cos($b1) * sin($b2));
$t3 = doubleval(sin($a1) * sin($b1));
$tt = doubleval(acos($t1 + $t2 + $t3));

return round($R * $tt);
}


JS实现

            var radLat1 = rad(latitude);
            var radLat2 = rad(sta_latitude);
            var a = radLat1 - radLat2;
            var b = rad(longitude) - rad(sta_longitude);
            var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
            s = s * 6378.137;
            // EARTH_RADIUS;
            s = Math.round(s * 10000) / 10000;


微信wx.getLocation返回的坐标为GPS定位

GPS定位 转化为腾讯地图坐标

http://apis.map.qq.com/ws/coord/v1/translate?locatiOns=39.2006,117.1257&type=1&key=XXXXXXX

与目标坐标对比

http://apis.map.qq.com/ws/distance/v1/?mode=driving&from=39.201787,117.132116&to=39.200280,117.133071&key=XXXXXXX


推荐阅读
author-avatar
兜妈是我
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有