2016-10-06 58 views
-1

我在動態加載json地圖數據。數據加載完成後,我想遍歷地圖上的所有項目(特徵)。然後,我想在用戶點擊該功能時添加一個「偵聽器」。Google Map遍歷所有對象

map.data.forEach(function(feature) { 
    console.log(feature); 

    map.data.addListener(feature, 'click', function(event) { 
     console.log('click'); 
    }); 

}); 

當我console.log(功能)有對象。 (見圖像)

其它實例顯示map.data.addListener(多邊形, '點擊',功能(事件){////}

洛示出了「feature.getGeometry()。的getType()。 toLowerCase()」 =多邊形,所以我知道我有很好的對象。

我如何通過所有對象進行迭代,並監聽點擊? enter image description here

+1

您應該只需將點擊偵聽器添加到數據層,如[此Google示例](https://developers.google.com/maps/documentation/javascript/examples/layer-data-event) ,用「click」替代「mouseover」(在「for each」之外)。你在「點擊」事件中想做什麼? – geocodezip

+0

@geocodezip - 哇..它的工作!你可以請發表一個完整的答案,所以我可以給你信用。 –

回答

1

您可以添加一個click偵聽數據層就像this google example ,用「click」替代「mouseover」(在.forEach之外)。

// Set click event for each feature. 
map.data.addListener('click', function(event) { 
    console.log('click'); 
});