0
A
回答
0
你必須保持你添加到地圖中的數組標記的軌道。您需要添加一個bounds_changed事件偵聽器,並使用一個函數來搜索該數組,並檢查標記座標是否位於地圖邊界內。例如:
<html>
<head>
<script type="text/javascript" src= "http://maps.google.com/maps/api/js?sensor=false">
</script>
<script>
var map;
markers = [];
function initialize(){
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
//if creating multiple markers you would do marker creation and storage in a loop
var marker1 = new google.maps.Marker({
map: map,
position: latlng,
title: "Marker 1"
});
var marker2 = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(-34.2, 150.644),
title: "Marker 2"
});
//save your marker to an array to keep track of your markers - i am assuming all markers are initially visible
markers.push({
visible: true,
marker: marker1
})
markers.push({
visible: true,
marker: marker2
})
//watch for zoom change event
google.maps.event.addListener(map, 'bounds_changed', function(){
checkBounds()
})
}
function checkBounds(){
//get bounds for a new zoom level
bounds = map.getBounds();
//loop through markers array to check if they are still in bounds (visible)
for (i = 0; i < markers.length; i++) {
m = markers[i].marker
if (bounds.contains(m.position)) {
//do something here for markers that are visible
markers[i].visible = true;
}
else {
//do something here for markers that are not visible
markers[i].visible = false;
}
}
}
//this is just to show which markers are visible and which ones are not
function show(){
htmlVisible = ""
htmlHidden = ""
for (i = 0; i < markers.length; i++) {
m = markers[i].marker
if (markers[i].visible) {
htmlVisible += m.title + "\n";
}
else {
htmlHidden += m.title + "\n";
}
}
alert("Visible markers:\n" + htmlVisible + "\n" + "Markers out of bounds:\n" + htmlHidden)
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width: 320px; height: 480px;">
</div>
<input type=button onclick="show()" value="List visible/out of bounds markers">
</body>
</html>
相關問題
- 1. JavaScript:如何檢查變量是否存在變量名?
- 2. 如何檢查變量是否存在?
- 3. 如何檢查變量是否設置和存在從JavaScript?
- 4. 使用lodash模板,我如何檢查變量是否存在?
- 5. 如何使用isset()檢查多個$ _POST變量是否存在?
- 6. 如何檢查變量是否在範圍內或在C++中
- 7. 檢查Javascript中是否存在變量的最佳方法?
- 8. 在html中,如何使變量,如何檢查變量中是否存在某個變量
- 9. 如何檢查一個變量是否在JavaScript中加載?
- 10. 檢查變量是否存在。 [奇怪]
- 11. 如何檢查變量是否在python
- 12. 如何檢查一個變量是否是Javascript中的超時?
- 13. 如何檢查是否變量是在JavaScript
- 14. 我如何檢查變量是否存在與否
- 15. 如何檢查rspec中是否存在輔助方法/變量?
- 16. 如何檢查jquery中是否存在變量
- 17. Ansible:如何檢查:db是否存在於角色變量中?
- 18. 如何檢查變量是否保存在數據庫中?
- 19. Ruby:如何檢查哈希定義中是否存在變量
- 20. 如何檢查數組中是否存在變量?
- 21. 如何檢查Python中是否存在靜態變量?
- 22. 如何檢查eex中是否存在變量?
- 23. 我如何檢查變量是否存在於Mule 3.2中?
- 24. 如何檢查Smarty中是否存在變量?
- 25. 如何檢查數據庫中是否存在$ _GET變量
- 26. 如何檢查FreeMarker模板中是否存在變量?
- 27. 如何在OBJECT_ID中使用T-SQL變量來檢查表是否存在?
- 28. 如何檢查變量是否存在,在一次掃描中是否爲真?
- 29. 如何使用bash檢查路徑是否存在於變量PATH中
- 30. 如何檢查是否在打印語句存在變量