这里使用百度地图作为例子,高德地图只是跳转链接不一样,可参考API文档,封装成了函数,具体应用可自己优化一下。
function goMap() { var lat = "23.143669", //纬度 lng = "113.331238", //经度 zoom = "13"; wapLink = "http://api.map.baidu.com/geocoder?location=" + lat + "," + lng + "&zoom=" + zoom + "&output=html&src=webapp.baidu.openAPIdemo"; if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) { //alert("ios1"); window.location.href = "baidumap://map/geocoder?location=" + lat + "," + lng + "&src=ios.baidu.openAPIdemo"; window.setTimeout(function() { window.location.href = wapLink; }, 2000); } else if (navigator.userAgent.match(/android/i)) { //alert("android1"); window.location.href = "baidumap://map/geocoder?location=" + lat + "," + lng + "&src=andr.baidu.openAPIdemo"; window.setTimeout(function() { window.location.href = wapLink; }, 2000); } else { window.location.href = wapLink; } }
简单粗暴,先是判断所属设备,然后直接跳转地图api,如果已安装app则会提示打开app,如未安装会无反应则等待2秒后打开网页版地图。