2

关于谷歌地图的一切在不同的桌面浏览器中都能正常工作,即使在较小的屏幕上——初始化、标记、信息气泡等都工作得很好。但在 iPhone/iPad 上,单击标记时不会出现 InfoBubble。

经过对 Stackoverflow 的研究并遵循了各种解决方案:

  1. 谷歌地图信息窗口未正确显示
  2. Google Maps API v3:InfoWindow 大小不正确
  3. 为什么 iPad 上的 Safari 不在嵌入式 Google 地图页面上显示我的标记?
  4. 如何为谷歌地图中的标记绑定触摸事件?
  5. 点击事件在 ipad 中不起作用

问题依然存在。任何人都可以帮忙吗?提前谢谢你!

//set up infobubble
var infowindow = new InfoBubble({
    map: map,
    maxHeight: 380,
    minWidth: 270,
    shadowStyle: 0,
    pixelOffset: new google.maps.Size(0, 35),
    padding: 0,
    borderRadius: 0,
    arrowSize: 8,
    borderWidth: 0,
    borderColor: '#fff',
    disableAutoPan: true,
    hideCloseButton: true,
    arrowPosition: 50,
    arrowStyle: 0
});

// open infowindow when marker is clicked
var mm=[];
google.maps.event.addListener(marker, 'click', (function(marker, i) {
  return function()
  {
    if(mm !='')
    {
      mm[0].setVisible(true);
      mm=[];
    }
    mm.push(marker);
    marker.setVisible(false);
    infowindow.setContent(this.IWcontent);
    infowindow.open(map, marker);
  }
})(marker, i));
4

1 回答 1

1

以防万一有人面临类似的问题。我们需要 3 天的时间来解决这个问题。我们的方法是:

  1. 通过 http 加载谷歌地图 api
  2. 在 infobubble.js 之前加载地图而不使用 async 或 defer
于 2017-09-19T14:10:40.223 回答