http://jsfiddle.net/UA2g2/1/
感謝geocodezip,你給我如何通過遍歷數組循環解決這個問題的想法。我不知道這是否是最有效的方法,但我將一些似乎正在做我想做的代碼放在一起 - 如果您檢查上面的jsfiddle並查看控制檯,則可以看到它記錄了何時以及哪些點位於視口中。
$(document).ready(function(){
var myOptions = {
center: new google.maps.LatLng(51, -2),
zoom: 9,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var storeArray = new Array(["51.38254", "-2.362804", "ID1"], ["51.235249", "-2.297804","ID2"], ["51.086126", "-2.910767","ID3"]);
google.maps.event.addListener(map, 'idle', function() {
for (i = 0; i < storeArray.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(storeArray[i][0], storeArray[i][1]),
map: map
});
}
for (var i=0; i<storeArray.length; i++) {
if (map.getBounds().contains(new google.maps.LatLng(storeArray[i][0], storeArray[i][1]))) {
console.log("marker: " + storeArray[i][2]);
}
}
});
});
你確切的問題是什麼?你希望在你提出的觀點列表上得到一個答案,或者你的問題是:如果有一種方法可以遍歷數組並檢查每個位置(長/緯)是否直接落入當前視口中 – 2013-03-12 13:52:23
是的,理想情況下如果我可以檢查數組中的所有位置,並返回屬於當前視口 – JPMox 2013-03-13 10:10:31