我最近发现了一个网站 您可以将常规的 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/