我有一個大問題! 我通過$ .getJSON 動態地添加了新的標記,但是我還希望使用函數來刪除地圖上的所有標記。 這一點,因爲我想使用此功能之前把新動態與標記功能XX3
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?keyenter code here=true">
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(40.76455136505513, -73.98056030273438),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
}
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body onload="initialize()">
<div id='map-ui'>
<ul>
<li><a onclick="javascript:xx3()" id='find here'>FIND HERE</a></li>
<li><a onclick="javascript:muovi()" id='filter-foodx'>skate</a></li>
<li><a onclick="javascript:xx4()" id='filter-foodx'>shop</a></li>
<li><a onclick="javascript:tutto()" class="active" id='filter-alxl'>show all events</a></li>
</ul>
</div>
<div id="map_canvas" style="width:100%; height:100%"></div>
<script type="text/javascript">
$(document).ready(function() {
$.getJSON("/vaij.php?la=40.76455136505513&lg=-73.98056030273438", function(json1) {
$.each(json1, function(key, data) {
var latLng = new google.maps.LatLng(data.la, data.lg);
// Creating a marker and putting it on the map
var marker = new google.maps.Marker({
position: latLng,
title: data.namesp
});
marker.setMap(map);
});
});
});
</script>
<script>
function clearMarkers() {
new google.maps.Marker(null);
}
function muovi() {
var latLng = new google.maps.LatLng(45.59426285330727 , 8.918224610396585); //Makes a latlng
map.panTo(latLng); //Make map global
}
function xx3() {
$.getJSON("/vaij.php?la=45.59426285330727&lg=8.918224610396585", function(json1) {
var markers = [];
$.each(json1, function(key, data) {
var latLng = new google.maps.LatLng(data.la, data.lg);
// Creating a marker and putting it on the map
var marker = new google.maps.Marker({
position: latLng,
title: data.namesp
});
marker.setMap(map);
});
});
}
function xx4() {
map.clearOverlays();
var markersArray = [];
function clearOverlays() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
}
}
}
</script>
所以......究竟是什麼你問了嗎?您是否嘗試編寫試圖刪除標記的函數?如果是這樣,你能否發佈並解釋什麼是工作,什麼不是?如果沒有,爲什麼你還沒有嘗試過呢? –
聽起來好像你需要在添加標記時保留全局標記數組,以便以後可以清除它們。看到這個[SO問題](http://stackoverflow.com/questions/1544739/google-maps-api-v3-how-to-remove-all-markers)。 –