如果要在不刷新頁面的狀況下更新地圖上的標記,比如說制服地圖要不刷頁的狀況下切換香港跟台灣的制服地圖,可以使用這個方式。
首先要在地圖上產生 marker 的方式:
- var markers = []; //marker array
- for (var i = 0; i < json.length; i++) {
- var position = new google.maps.LatLng(
- lng, lat);
- var marker = new google.maps.Marker({
- position: position,
- icon: icon,
- title: title,
- map: map
- });
- markers.push(marker);
- }
要更新的話先用把點全部取出來後用 markers[i].setMap(null) 把點給清空,然後把陣列清空後再把點倒進去一次就可以了。
- for(i=0; i<markers.length; i++)
- {
- markers[i].setMap(null);
- }
- markers = [];