最近的一个项目需求中需要让我们的手机网页跳到第三方地图APP进行导航,开发完之后进行一下整理归纳。整理思路是根据不同地图APP来进行。并分为IOS端和Android端。
地图跳转的核心思路是通过URL来调起,不同的APP有着自己的scheme和参数,通过构建URL再使用window.location方法即可跳转到相关APP。
高德地图:
高德开放平台地址:https://lbs.amap.com/
高德地图手机版API地址:https://lbs.amap.com/api/amap-mobile/summary/
高德地图IOS端URL示例:
iosamap://path?sourceApplication=applicationName&sid=BGVIS1&slat=39.92848272&slon=116.39560823&sname=A&did=BGVIS2&dlat=39.98848272&dlon=116.47560823&dname=B&dev=0&t=0
参数详解:
其它功能如导航和地图标注方法类似,通过构建URL跳转到相关功能,具体可访问API。
高德地图Android端URL示例:
amapuri://route/plan/?sid=BGVIS1&slat=39.92848272&slon=116.39560823&sname=A&did=BGVIS2&dlat=39.98848272&dlon=116.47560823&dname=B&dev=0&t=0
高德地图Android端URL的scheme和IOS有出入,暂不清楚为何这样。
百度地图:
百度地图开放平台:http://lbsyun.baidu.com/
百度地图地图调起API:http://lbsyun.baidu.com/index.php?title=uri
百度地图IOS端URL示例:
baidumap://map/direction?origin=34.264642646862,108.95108518068&destination=40.007623,116.360582&mode=driving&src=ios.baidu.openAPIdemo
参数详解:
这里参数没给全,但剩下的不是很重要,如果有需要的可以访问API。其余功能和高德地图类似。
百度地图Android端URL示例:
baidumap://map/direction?origin=name:对外经贸大学|latlng:39.98871,116.43234&destination=西直门&mode=transit&sy=3&index=0&target=1&src=andr.baidu.openAPIdemo
百度地图Android的URL和IOS十分类似,只需要把src=ios.baidu.openAPIdemo改成src=andr.baidu.openAPIdemo即可。另外一个优势是可以加入中文。
苹果地图:
苹果地图API:
https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html
苹果地图的API功能十分简陋,基本不满足我们的开发需求,因此在做了尝试之后就把苹果地图的导航功能关闭了。因为它不太支持GPS导航,只支持名字,而且还是英文。
---------------------
作者:言叶之之庭
来源:CSDN
原文:https://blog.csdn.net/u010350133/article/details/82216331
版权声明:本文为博主原创文章,转载请附上博文链接!