gpt4 book ai didi

javascript - 谷歌地图拖动标记问题

转载 作者:行者123 更新时间:2023-11-29 22:22:00 25 4
gpt4 key购买 nike

我想在用户拖动标记时提醒用户 map 上的新位置。显然,当我拖动我的标记时,监听器甚至不会触发。我希望我的用户能够选择在 map 上放置标记并且能够拖动它。单击并拖动 map 的另一侧可以更改标记位置,但是当我尝试添加用于拖动 map 的监听器以弹出菜单警报时,它不起作用。谢谢

var LatLng = new google.maps.LatLng(lat,lng);
var marker;
var mapOptions = {
center: LatLng,
zoom: 16,
minZoom:12,
maxZoom:18,
panControl:false,
scrollwheel: false,
rotateControl:false,
streetViewControl:false,
keyboardShortcuts:false,
mapTypeControl: false,
scaleControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};


var Gmap = new google.maps.Map($('#map_canvas').get(0),mapOptions);


// adding pointer by clicking on mac
google.maps.event.addListener(Gmap, 'click', function(e) {
if (marker) {
marker.setPosition(e.latLng);
}else{
marker = new google.maps.Marker({
position: e.latLng,
map: Gmap,
draggable:true
});
}

Gmap.panTo(marker.getPosition());


});

google.maps.event.addListener(marker, 'dragend', function() {
alert('Show something here');
});

最佳答案

监听器不工作,因为当您定义监听器时,标记未定义。您需要将它放在定义标记的功能 block 中:

google.maps.event.addListener(Gmap, 'click', function(e) {
if (marker) {
marker.setPosition(e.latLng);
} else {
marker = new google.maps.Marker({
position: e.latLng,
map: Gmap,
draggable:true
});

google.maps.event.addListener(marker, 'dragend', function() {
alert('Show something here');
});
}

Gmap.panTo(marker.getPosition());
});

查看实际效果 right here .

关于javascript - 谷歌地图拖动标记问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com