Javascript 谷歌地图v3改变标记';s地图
我想在飞行中更改标记的地图。具体来说,我有三个不同标记的集合,所以我用一个未定义的映射构建它们,然后在集合之间切换时尝试设置它们的映射属性。它不起作用-标记仅在构造函数中传递贴图时显示Javascript 谷歌地图v3改变标记';s地图,javascript,jquery,google-maps,Javascript,Jquery,Google Maps,我想在飞行中更改标记的地图。具体来说,我有三个不同标记的集合,所以我用一个未定义的映射构建它们,然后在集合之间切换时尝试设置它们的映射属性。它不起作用-标记仅在构造函数中传递贴图时显示 //Build a new marker with no map var marker = new google.maps.Marker({ position: pos, title: el.name + " #" + el.location_id, map: null }); marke
//Build a new marker with no map
var marker = new google.maps.Marker({
position: pos,
title: el.name + " #" + el.location_id,
map: null
});
markers[el.location_id] = marker;
//Later, when displaying
$.each(markers, function(i, marker){
marker.map = map;
});
//Marker doesn't show up.
此外,当我创建一个标记,然后删除其贴图时,它仍然显示:
var marker = new google.maps.Marker({
position: pos,
title: el.name + " #" + el.location_id,
map: map
});
marker.map = null;
//Marker is still on the map...
您希望使用标记对象的地图设置器方法,即:
$.each(markers, function(i, marker){
marker.setMap(map);
});
将映射设置为null应将其从显示标记对象的任何映射中删除
请参阅v3文档下的部分。您需要使用标记的setMap()方法,因此在您的情况下
marker.setMap(map)
要删除标记,请执行以下操作:
marker.setMap(null)