4
我做了一個拖放功能,以便用戶可以從側邊欄拖動圖標,當他們下降圖標,標記放置。拖放谷歌地圖標記
下面的實現看起來像是實現它的最好方法,但是當網絡速度很慢時會出現問題,大概是因爲mouseover事件中的lat/lng(非常)不準確。
任何人都可以提供另一種方法,我可以做到這一點?也許立即放置標記,然後使用內置的地圖拖放?
function placeMarker(lat, lng) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat, lng),
draggable: true,
map: map
});
return marker;
}
$(".icon").draggable({helper: 'clone',
start: function(e, ui) {
map.setOptions({draggable: false});
$("#map").css('cursor', 'crosshair');
},
stop: function(e,ui) {
map.setOptions({draggable: true});
$("#map").css('cursor', 'default');
google.maps.event.addListenerOnce(map, "mouseover", function(event) {
var lat = event.latLng.lat(),
lng = event.latLng.lng(),
id = ui.helper.context.id;
pointA = id === "pointA" && pointA === true
? pointA.setMap(null) : placeMarker(lat, lng);
pointB = id === "pointB" && pointB === true
? pointB.setMap(null) : placeMarker(lat, lng);
});
}
});
發生了什麼*問題* – 2016-03-04 10:54:34
標記需要很長時間才能放置,當它放置在地圖上的錯誤位置時。 – seanbrodie
也許嘗試使用'google.maps.Geocoder()'服務https://developers.google.com/maps/documentation/javascript/geocoding – 2016-03-04 11:14:57