javascript - 拖动后 map 中心的标记

标签 javascript jquery google-maps google-maps-api-3

我在我的网站上实现了谷歌地图。用户可以拖动标记并获取坐标。它工作正常,但要求是当用户拖动标记时,拖动标记应位于 map 窗口的中心,或者如果用户拖动 map ,则对于这种情况,标记也位于 map 窗口的中心。

我有以下代码,仅适用于 map 上的拖动标记, 但我不知道在哪里添加在拖动后将标记移动到 map 窗口中心的函数或代码。

代码如下:

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

关于javascript - 拖动后 map 中心的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893146/

相关文章:

javascript - 页面加载时默认隐藏所有div,显示:none doesn't appear to work

javascript - 根据复选框 Angular 动态隐藏列

javascript - 深度克隆 Backbone.js 模型

jQuery 单击 append 元素

javascript - 是否可以在javascript函数中,从具有Google map 中位置的纬度和经度的var创建具有位置名称的var?

java - "Can' t 查找变量”将字符串从 java 发送到 javascript 时。

javascript - Angular/Javascript 日期中的夏令时

javascript - 如何在同一个函数中使用 setInterval() 和 clearInterval()

带有嵌套元素的 jQuery 悬停事件

android - 在Android中获取可见 map 的半径