Google maps api 3 如何在不使用marker=new google.maps.marker的情况下更改标记选项

Google maps api 3 如何在不使用marker=new google.maps.marker的情况下更改标记选项,google-maps-api-3,google-maps-markers,Google Maps Api 3,Google Maps Markers,我发现下面的函数只创建一个标记-这就是我想要的。 但是如何在不创建新标记的情况下更改标记选项(如html? i、 下面的代码将使用setPosition移动一个现有的标记,但是如果我还想更改它的html和标题呢 var标记 function placeMarker(location) { if ( marker ) { marker.setPosition(location); } else { marker = new google.maps.Marker({ position: loca

我发现下面的函数只创建一个标记-这就是我想要的。 但是如何在不创建新标记的情况下更改标记选项(如html?
i、 下面的代码将使用setPosition移动一个现有的标记,但是如果我还想更改它的html和标题呢

var标记

function placeMarker(location) {
if ( marker ) {
marker.setPosition(location);
} else {
marker = new google.maps.Marker({
  position: location,
  map: map
});
}
}

标记对象的属性大多有相应的get和set方法

例如,Title有一个get_Title()方法和一个set_Title()方法,您可以像这样使用

myMarker.setTitle('my new title');

html是绑定到标记的“单击”事件的信息窗口的内容。有一个infoWindow.setContent()方法。我会扩展标记,在创建html内容时保存它,然后在重置位置、标题等的位置更新它。然后,您需要编写自己的“单击”事件处理程序,以便在单个全局信息窗口中使用某些内容

google.maps.event.addListener(marker, 'click', function() {
                infoWindow.setContent(marker.html);
                infowindow.open(map,marker);
            });

Maker是一个MVCObject,此类具有set方法

marker.set(property, New_Value);

如果您想更改多个属性,可以使用
setOptions
method

谢谢Baldy-这解决了我的标题问题,但我没有看到html的选项。。。或者我可以创建一个,例如marker.setHtml('stuff');文件表明不存在此类财产。你在哪里见过这房子?或者你指的是旧版本的谷歌地图(如v2),其中可能包含这个可能不推荐的属性?啊。我正在使用infoBubble,它引用了标记选项html-infoBubble.setContent(marker.html);“html”基本上相当于信息窗口的contentString。“html”是标记选项之一-marker=new google.maps.marker({position:markercenter,map:map,shadow:shadow,icon:image,shape:shape,html:''+markerName+'',draggable:false,title:markerName});我觉得我有点天真,只是盲目地使用原始代码。因此,不要使用infoBubble.setContent(marker.html);我可以为内容使用任何变量,如var content=contents;infoBubble.setContent(content);。。。。。我想是的。这就解决了我的问题。谢谢