Macro Da

每天学一点,成长多一点!

js如何打开地图APP,判断是否安装地图APP

这里使用百度地图作为例子,高德地图只是跳转链接不一样,可参考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秒后打开网页版地图。

点赞

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注