从常规链接获取Google地图嵌入网址

时间:2017-02-07 16:47:45

标签: javascript jquery google-maps

我最近遇到了一个网站Valid HTML,您可以在其中将常规Google地图网址拖到他们的网页上,它会自动通过iframe嵌入它。我阅读了Google Maps Embed API,看起来似乎无法做到这一点。我不确定是否可以使用正则表达式来提取参数。

// Sample https://www.google.com/maps/@37.3321023,-121.9035969,14z

$(button).click(function() {
   reg-url = $('#inputbox').val();
   convert();
});

function convert() {
    embedid = //get param from reg-url
    $('.wrapper').html("<iframe src='https://www.google.com/maps/embed?pb="+embedid+"'>");
}

所以基本上我想创建一个jquery函数,将常规地图网址转换为嵌入网址。

1 个答案:

答案 0 :(得分:3)

function GoogleMapsURLToEmbedURL(GoogleMapsURL)
{
    var coords = /\@([0-9\.\,\-a-zA-Z]*)/.exec(GoogleMapsURL);
    if(coords!=null)
    {
        var coordsArray = coords[1].split(',');
        return "https://www.google.com/maps/embed?pb=!1m14!1m12!1m3!1d20000!2d"+coordsArray[1]+"!3d"+coordsArray[0]+"!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2suk!4v1486486434098";
    }
}

在您的样本中: -

https://www.google.com/maps/@37.3321023,-121.9035969,14z

在'@'之后,37.3321023是一个坐标,-121.9035969是第二个,14z是缩放。

我已经为你完成了坐标,所有你需要做的就是编写一些if if来将变焦转换成嵌入的整数(我把它设置为总是20000,看起来根据网络界面,大约在第14个缩放级别。