2017-10-11 32 views
-1

如何在谷歌地圖的頁面加載中顯示infowindow。它應該會自動顯示infowindow彈出窗口。我在谷歌地圖中有多個標記。我需要在頁面加載時打開所有標記信息窗口。如何在沒有點擊事件的情況下在Google地圖中顯示信息窗口

爵士小提琴鏈接 https://jsfiddle.net/vq7zfbgj/

代碼:

var locations = [ 
      [ 
      "Market 1", 
      22.809999, 
      86.179999, 
      5, 
      "Market1", 
      "Market1", 
      "Market1", 
      "found" 
     ], 
    [ 
      "Market 2", 
      22.801111, 
      86.171111, 
      5, 
      "Market2", 
      "Market2", 
      "Market2", 
      "found" 
     ] 
    ] 

    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 14, 
     center: new google.maps.LatLng(22.803444, 86.179525), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var infowindow = new google.maps.InfoWindow(); 


    var marker, i; 

    for (i = 0; i < locations.length; i++) { 
     marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
      map: map 
     }); 

     google.maps.event.addListener(marker, 'click', (function (marker, i) { 
      return function() { 
       infowindow.setContent(locations[i][0], locations[i][6]); 
       infowindow.open(map, marker); 
      } 
     })(marker, i)); 
    } 

回答

0

我修改你的小提琴this和信息窗口會在頁面加載打開。我添加另一個標記來模擬可以解析更多標記的標記。希望能幫助到你。

for (i = 0; i < locations.length; i++) { 
    var infowindow = new google.maps.InfoWindow; 

    marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(locations[i][1], locations[i][2]), 
    map: map 
    }); 

    google.maps.event.addListener(marker, 'click', (function (marker, i) { 
    return function() { 
     infowindow.setContent(locations[i][0], locations[i][6]); 
     infowindow.open(map, marker); 
    } 
    })(marker, i)); 

    infowindow.setContent(locations[i][0], locations[i][6]); 
    infowindow.open(map, marker); 
} 
1

您可以單獨啓動信息窗口每個標記一次打開多個標記。我建議刪除原來的VAR信息窗口,做中的以下for循環每個標記:

marker.infowindow = new google.maps.InfoWindow(); 
}); 
marker.infowindow.setContent(locations[i][0], locations[i][6]);    
marker.infowindow.open(map, marker); 

https://jsfiddle.net/vq7zfbgj/16/

+0

您現在打破了初始功能。雖然標記可能會在加載時打開,但再次單擊時它們不再起作用,並且它們的文本也消失了。這不是一個解決方案,但引入了更多的問題。 – Nope

+0

@Fran - 在我最初的例子中,我沒有提到InfoWindow內容的數量,但我確實演示瞭如何在頁面加載時打開它們。保持點擊行爲確實有意義,所以我在我的更新示例中恢復了這一點。 – athms

相關問題