2015-10-09 35 views
-1

我想要實現的是將自定義標記添加到地圖,然後更改其屬性。例如,我在地圖上添加了一個infowindow標記,如何訪問該inforwindow對象(是否是對象?我不知道)並更新顯示的文本?如何訪問谷歌地圖標記對象屬性javascript

下面的代碼允許我在地圖上放置標記,但是我無法弄清楚如何訪問這些標記並編輯標記的屬性?

任何幫助表示讚賞。

function initialize() { 

     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 12, 
      center: {lat: -45.730, lng: 170.579} 
     }); 

     // This event listener calls addMarker() when the map is clicked. 
     google.maps.event.addListener(map, 'click', function(event) { 
      addMarker(event.latLng, map); 
     }); 


    } 

    // Adds a marker to the map. 
    function addMarker(location, map) { 


     var marker = new google.maps.Marker({ 
      position: location, 

      icon: 'path to image', 
      map: map 
     }); 
     var markerBubble = new google.maps.InfoWindow({ 
      content: 'text in bubble' 

    }); 

    markerBubble.open(map, marker); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
+0

這可能會對您有所幫助。 http://ngmap.github.io。基本上,它使用的是AngualrJS,你不必爲了簡單的操作而編寫任何Javascript代碼。 – allenhwkim

回答

0

根據您的需要,您可以決定在addmarker()函數中更改標記,因爲您有標記對象。當我這樣做時,我將所有的標記保存在一個數組中,以便我可以隨意更改它們。查看標記類文檔,它會顯示你可以配置的所有參數(例如顏色,形狀,大小等)

你也可以做的就是在你的標記函數結束時返回標記,把它放在監聽器事件的一個變量中。

注意:標記也具有點擊事件,您可以將鼠標點擊綁定到您製作的標記,因此,假設您希望能夠移除,那麼可以將其綁定到您創建的標記上的左鍵單擊。