2015-10-09 34 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()函数中更改标记,因为您有标记对象。当我这样做时,我将所有的标记保存在一个数组中,以便我可以随意更改它们。查看标记类文档,它会显示你可以配置的所有参数(例如颜色,形状,大小等)

你也可以做的就是在你的标记函数结束时返回标记,把它放在监听器事件的一个变量中。

注意:标记也具有点击事件,您可以将鼠标点击绑定到您制作的标记,因此,假设您希望能够移除,那么可以将其绑定到您创建的标记上的左键单击。