Javascript 嵌入谷歌地图—“谷歌地图”;浏览谷歌地图“;手机上的链接中断
我使用“共享并嵌入”地图选项将地图放在我正在开发的网站上(从“新”谷歌地图底部的cog: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
<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我不确定是否可以将直接链接添加到手机上的地点,但你可以添加这样的“获取方向”链接:同样值得检查商店的谷歌地点设置,如果你尝试链接到更受欢迎的地点,如欣克利博物馆,是否也会发生同样的情况?实际上还没有尝试链接到更受欢迎的地点,但感谢你的回答!这应该让我明白我的想法:)再次感谢!