Javascript 嵌入谷歌地图—“谷歌地图”;浏览谷歌地图“;手机上的链接中断

Javascript 嵌入谷歌地图—“谷歌地图”;浏览谷歌地图“;手机上的链接中断,javascript,html,google-maps,mobile,embed,Javascript,Html,Google Maps,Mobile,Embed,我使用“共享并嵌入”地图选项将地图放在我正在开发的网站上(从“新”谷歌地图底部的cog: <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2426.5340551802665!2d-1.3732330000000013!3d52.541864000000004!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x48775aa3a9b0d003%3A0x

我使用“共享并嵌入”地图选项将地图放在我正在开发的网站上(从“新”谷歌地图底部的cog:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2426.5340551802665!2d-1.3732330000000013!3d52.541864000000004!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x48775aa3a9b0d003%3A0x733a43420fa646be!2sAT+Home+Furniture!5e0!3m2!1sen!2s!4v1392282549357" width="600" height="450" frameborder="0" style="border:0"></iframe>


在桌面上,它工作正常,你可以点击“谷歌地图上的视图”,它可以按照你的预期工作,并在谷歌地图上显示商店位置。然而,当你在移动设备(Nexus 5、iPad 3、Nexus 7)上点击此链接时,它只会打开谷歌地图应用程序的一般区域,然后人们必须手动键入搜索来查找商店(下面是显示内容的屏幕截图)

这肯定不是谷歌地图的错误吗?我做错了什么?其他人也有同样的经历吗

当前指向该站点的链接为:

2014-02-25编辑-如果没有办法解决这个问题(谷歌肯定忽略了什么?!),那么是否可以复制这个(如果用户登录,可以定制一个地图)使用API?如果您查看站点,您应该会看到这一点,但它是嵌入iFrame中的Google地图的标准功能

2014-02-26编辑-如果我使用谷歌地图API,我将如何在桌面和移动设备上设置指向“完整地图”(在谷歌地图中打开)的链接


您可以使用自定义地图API信息窗口来显示共享地图链接等

请参见此处的示例:

您可以添加任意数量的标记。只需将第8-13行放在一个循环中。单击标记时要显示的所有信息都必须包含在标记内。单击时,我们使用this.xyz访问它们

google.maps.event.addDomListener(window, 'load',       function() {
    var map = new google.maps.Map(document.getElementById("map-canvas"),
    {
        center: new google.maps.LatLng(52.54215, -1.37335),
        zoom: 14
    });
    //add a marker
    var marker = new google.maps.Marker({
        position: new google.maps.LatLng(52.542151, -1.373351),
        map: map,
        title:"Hello World!",
        View_on_Google_Maps_link: 'https://www.google.com/maps/place/AT+Home+Furniture/@52.541864,-1.373233,16z/data=!4m2!3m1!1s0x0:0x733a43420fa646be?hl=en-GB'
    });

    //attach a click event to the marker to display the info window.
    google.maps.event.addListener(marker, 'click', function() {
        //create a info window to show when a maker is clicked
        var infowindow = new google.maps.InfoWindow({
            content: '<div>Share link: '+ this.View_on_Google_Maps_link +'.</div>'
        }); 
        infowindow.open(map,this);
    });



});
google.maps.event.addDomListener(窗口'load',函数(){
var map=new google.maps.map(document.getElementById(“地图画布”),
{
中心:新google.maps.LatLng(52.54215,-1.37335),
缩放:14
});
//添加标记
var marker=new google.maps.marker({
位置:新google.maps.LatLng(52.542151,-1.373351),
地图:地图,
标题:“你好,世界!”,
查看谷歌地图链接:'https://www.google.com/maps/place/AT+家庭+家具/@52.541864,-1.373233,16z/数据=!4m2!3m1!1s0x0:0x733a43420fa646be?hl=en GB'
});
//将单击事件附加到标记以显示信息窗口。
google.maps.event.addListener(标记'click',函数(){
//创建一个信息窗口,以便在单击maker时显示
var infowindow=new google.maps.infowindow({
内容:'共享链接:'+this.View\'on\'u Google\'u Maps\'u link+'
}); 
打开(地图,这个);
});
});

w3c validator报告了您的页面内容的一些错误。检查一下,可能有一些地方可以改进。现在所有内容都已完全验证:)问题仍然存在(显然)。这里很好地解释了您问题的解决方案。您是说我应该使用Google Maps API,而不是将其与提供的iFrame代码一起嵌入?iFrame one无法在移动设备上运行的原因是什么?似乎有点奇怪!嵌入的代码不是为移动设备设计的,这就是他们开发Google Maps v3的原因API。该API旨在跨平台无缝使用。回答得很好,但不要以为你知道我可以在信息窗口中放置一个URL来打开“位置”在Google Maps desktop和mobile?在我的桌面上的浏览器上,您使用的链接可以正常打开并显示所有业务信息,但在mobile上,它不会显示。您可以在mobile上看到类似的屏幕,因为当您在Google Maps mobile应用程序上搜索业务名称时,您会看到一个信息屏幕。@BT643我不确定是否可以将直接链接添加到手机上的地点,但你可以添加这样的“获取方向”链接:同样值得检查商店的谷歌地点设置,如果你尝试链接到更受欢迎的地点,如欣克利博物馆,是否也会发生同样的情况?实际上还没有尝试链接到更受欢迎的地点,但感谢你的回答!这应该让我明白我的想法:)再次感谢!