我正在玩https://github.com/apneadiving/Google-Maps-for-Rails和 我想清除地图上的所有标记,并在地图上用户点击的位置添加一个新标记,我在页面中添加了以下代码
<script type="text/javascript" charset="utf-8">
function gmaps4rails_callback() {
google.maps.event.addListener(Gmaps4Rails.map, 'click', function(object){
alert(object.latLng);
});
</script>
通过这种方式,我可以看到一个带有lat和long值的警报,现在我该如何删除旧标记并创建一个新标记并将其放在地图上?
答案 0 :(得分:3)
如果要清除gmaps4rails
创建的标记,请使用此js函数:
Gmaps4Rails.clear_markers();
否则,循环标记并制作marker.setMap(null)
好吧,以下功能会删除所有标记,并在用户点击时添加一个新标记:
var marker = null;
function gmaps4rails_callback() {
Gmaps4Rails.clear_markers();
if (marker != null) { marker.setMap(null); }
google.maps.event.addListener(Gmaps4Rails.map, 'click', function(object){ marker = new google.maps.Marker({position: object.latLng, map: Gmaps4Rails.map});});
}
注意:
object.latLng.lat()
检索,经度使用:object.latLng.lng()
添加标记的另一种方法是使用此处描述的add_marker
函数:https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Dynamic-%28or-Ajax%29-map-refresh