我试图让当前标记有一个信息窗口,并且只有5个标记标记在地图上的时间(4没有信息窗口和1)
我如何添加一个id到每个标记,以便我可以删除和关闭信息窗口
这是我用来设置标记的函数:
function codeAddress(address,contentString){ var infowindow = new google.maps.InfoWindow({ content:contentString }); if(geocoder){ geocoder.geocode({'address':address},function(results,status){ if(状态== google.maps.GeocoderStatus.OK){ map.setCenter(results [0] .geometry.location); var marker = new google.maps。标记({ map:map, position:results [0] .geometry.location }); infowindow.open(map,marker); $ b $}其他{ alert(由于以下原因,地理编码不成功:+ status; } }); }}
解决方案JavaScript是一种动态语言。您可以将其添加到对象本身。
var marker = new google.maps.Marker(markerOptions); marker.metadata = {type:point,id:1};另外,因为所有v3对象都会扩展 MVCObject() 。您可以使用:
marker.setValues({type:point,id:1}); //或 marker.set(type,point); marker.set(id,1); var val = marker.get(id);
I have a script that loops and adds markers one at a time.
I am trying to get the current marker to have an info window and and only have 5 markers on a map at a time (4 without info windows and 1 with)
How would I add an id to each marker so that I can delete and close info windows as needed.
This is the function I am using to set the marker:
function codeAddress(address, contentString) { var infowindow = new google.maps.InfoWindow({ content: contentString }); if (geocoder) { geocoder.geocode( { 'address': address}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { map.setCenter(results[0].geometry.location); var marker = new google.maps.Marker({ map: map, position: results[0].geometry.location }); infowindow.open(map,marker); } else { alert("Geocode was not successful for the following reason: " + status); } }); }}
解决方案JavaScript is a dynamic language. You could just add it to the object itself.
var marker = new google.maps.Marker(markerOptions); marker.metadata = {type: "point", id: 1};Also, because all v3 objects extend MVCObject(). You can use:
marker.setValues({type: "point", id: 1}); // or marker.set("type", "point"); marker.set("id", 1); var val = marker.get("id");
更多推荐
将ID添加到Google地图标记
发布评论