2017-01-12 132 views
0

我正在嘗試在Google地圖上添加一個信息框到多個引腳。向GoogleMaps添加信息框?

我有信息框前工作 - JSfiddle

但我現在已經改變了代碼,以包括一個下拉菜單。我試圖再次添加信息框,但它不起作用,我不明白爲什麼它不。 JSfiddle。 我已複製並粘貼信息框的代碼,檢查變量名稱是否仍匹配,並且代碼的順序相同。

下面的代碼是標記添加到地圖,我試圖添加信息框。 addMarker函數位於我的初始化函數中。並且var infowindow位於初始化函數之下。

function addMarker(feature) { 
    var marker = new google.maps.Marker({ 
    position: feature.position, 
    icon: feature.icon, 
    map: map, 
    size: 20, 
    title: name, 
    draggable: false, 
    //animation: google.maps.Animation.DROP 
    }); 

    google.maps.event.addListener(marker, 'click', (function (marker) {return function() { 
     var Infocontent = feature.desc; 
     infowindow.setContent(Infocontent); 
     infowindow.open(map, marker); //'mouseover' 
     } 
    })(marker)); 
    } 




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

可能有人請告訴我我哪裏出了問題嗎?

+0

我只是想你的小提琴,在Mac的Chrome v.55.0.2883.95工作。 – Bellu

+0

Bellu - 你試過哪個JSfiddle?我試圖讓第二個JSfiddle工作[JSfiddle](http://jsfiddle.net/Shocker33/Lc67egb2/5/) – Bobby

+0

對不起,我正在尋找第一個。你是對的,第二個不起作用。 – Bellu

回答

1

我剛剛通過創建一個新的小提琴更新了您的代碼,現在它顯示infowindow。我只是將你的infowindow代碼移入了監聽器定義中。 請檢查

google.maps.event.addListener(marker, 'click', (function (marker) {return function() { 
    console.log('called'); 
     var Infocontent = feature.desc; 
     infowindow = new google.maps.InfoWindow(); 
     infowindow.setContent(Infocontent); 
     infowindow.open(map, marker); //'mouseover' 
     } 
    })(marker)); 

JSFiddle

+0

謝謝Sandeep Garg! – Bobby

+0

非常感謝! :) –