谷歌地图的标记不会在iPhone / iPad上显示InfoBubble

时间:2017-09-15 10:45:41

标签: javascript iphone ipad google-maps-api-3 infobubble

Google地图的所有内容在不同的桌面浏览器中都可以正常工作,即使是在较小的屏幕中 - 初始化,标记,信息交互等也能正常运行。但在iPhone / iPad上,单击标记时不会显示InfoBubble。

在研究Stackoverflow之后,遵循各种解决方案:

  1. Google Map Infowindow not showing properly
  2. Google Maps API v3: InfoWindow not sizing correctly
  3. Why does Safari on the iPad not display my marker on an embedded Google Maps page?
  4. how can i bind touch events for a marker in google maps?
  5. click event is not working in ipad
  6. 问题仍然存在。有人可以帮忙吗?先谢谢你了!

    //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));
    

1 个答案:

答案 0 :(得分:1)

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

  1. 通过http
  2. 加载谷歌地图API
  3. 在不使用async或defer
  4. 的情况下,在infobubble.js之前加载地图