google maps 更新地圖上的 marker

如果要在不刷新頁面的狀況下更新地圖上的標記,比如說制服地圖要不刷頁的狀況下切換香港跟台灣的制服地圖,可以使用這個方式。

首先要在地圖上產生 marker 的方式:
  1. var markers = []; //marker array   
  2. for (var i = 0; i < json.length; i++) {   
  3.     var position = new google.maps.LatLng(   
  4.     lng, lat);   
  5.   
  6.     var marker = new google.maps.Marker({   
  7.           position: position,   
  8.           icon: icon,   
  9.           title: title,   
  10.           map: map   
  11.     });   
  12.     markers.push(marker);   
  13. }  

要更新的話先用把點全部取出來後用 markers[i].setMap(null) 把點給清空,然後把陣列清空後再把點倒進去一次就可以了。
  1. for(i=0; i<markers.length; i++)   
  2. {   
  3.    markers[i].setMap(null);   
  4. }   
  5. markers = [];  

留言