javascript - 从常规链接获取 Google map 嵌入 url

标签 javascript jquery google-maps

我最近发现了一个网站 Valid HTML您可以将常规的 Google map 网址拖到其页面,它会通过 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 函数来将常规 map url 转换为嵌入 url。

最佳答案

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 来计算将缩放转换为嵌入的整数(我将其设置为始终为 20000,看起来根据网络界面,缩放级别约为 14 级。

关于javascript - 从常规链接获取 Google map 嵌入 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42095464/

相关文章:

javascript - 在 js 中从 Google Maps API 编辑针点描述标签

javascript - 将文本从 <span> 复制到剪贴板

javascript - d3 从 svg 中删除文本

javascript - 如何在 durandal 中组织应用程序?

jquery - JSF 中的页面卸载事件处理

php - Woocommerce - 添加到购物车触发器

google-maps - google geocoder API 返回的邻域类型是什么

javascript - RichFaces 4.1.0的popupPanel.js中的一个函数如何被覆盖?

javascript - 打开后下拉导航菜单滑动的问题

google-maps - 您如何使用 ajax 和 json 在 google maps engine lite 中以编程方式创建图层