我在我的网站上实现了谷歌地图。用户可以拖动标记并获取坐标。它工作正常,但要求是当用户拖动标记时,拖动标记后应该出现在地图窗口的中心,或者如果用户拖动地图,那么在这种情况下标记也出现在地图窗口的中心。
我有以下代码,仅适用于地图上的拖动标记,
但我不知道在哪里添加拖动后将标记移动到地图窗口中心的函数或代码。
该代码写如下:
google.maps.event.addListener(myMarker, 'dragend', function (evt) {
document.getElementById('dragStatus').innerHTML = '<p> Current Lat: ' + evt.latLng.lat().toFixed(4) + ' Current Lng: ' + evt.latLng.lng().toFixed(4) + '</p>';
var point = marker.getPosition();
map.panTo(point);
});
google.maps.event.addListener(myMarker, 'dragstart', function (evt) {
//-------------
//------------
});
http://jsfiddle.net/ANJYR/6xq6pujk/
这是(我认为)一个更简单的解决方案......或者我不太明白你想要实现的目标。
//Dragable Marker In Google Map....
var center = new google.maps.LatLng(-33.013803, -71.551498);
var map = new google.maps.Map(document.getElementById('mapBox'), {
zoom: 18,
center: center,
mapTypeId: google.maps.MapTypeId.HYBRID
});
var myMarker = new google.maps.Marker({
position: center,
draggable: true,
map: map
});
google.maps.event.addListener(myMarker, 'dragend', function () {
map.setCenter(this.getPosition()); // Set map center to marker position
updatePosition(this.getPosition().lat(), this.getPosition().lng()); // update position display
});
google.maps.event.addListener(map, 'dragend', function () {
myMarker.setPosition(this.getCenter()); // set marker position to map center
updatePosition(this.getCenter().lat(), this.getCenter().lng()); // update position display
});
function updatePosition(lat, lng) {
document.getElementById('dragStatus').innerHTML = '<p> Current Lat: ' + lat.toFixed(4) + ' Current Lng: ' + lng.toFixed(4) + '</p>';
}
JSFiddle demo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)