Nic*_*ick 76 javascript google-maps
我有一个脚本循环并一次添加一个标记.
我试图让当前标记有一个信息窗口,并且一次只有一个地图上有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 (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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
}
Cra*_*gma 185
JavaScript是一种动态语言.您可以将它添加到对象本身.
var marker = new google.maps.Marker(markerOptions);
marker.metadata = {type: "point", id: 1};
Run Code Online (Sandbox Code Playgroud)
此外,因为所有v3对象都会扩展MVCObject()
.您可以使用:
marker.setValues({type: "point", id: 1});
// or
marker.set("type", "point");
marker.set("id", 1);
var val = marker.get("id");
Run Code Online (Sandbox Code Playgroud)
zen*_*n.c 13
只需添加另一个适合我的解决方案..您只需将其附加到标记选项中:
var marker = new google.maps.Marker({
map: map,
position: position,
// Custom Attributes / Data / Key-Values
store_id: id,
store_address: address,
store_type: type
});
Run Code Online (Sandbox Code Playgroud)
然后检索它们:
marker.get('store_id');
marker.get('store_address');
marker.get('store_type');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
95376 次 |
最近记录: |