谷歌地图v3 - 科尔多瓦 - 地图中心不会因拖动而改变

时间:2014-12-03 09:46:21

标签: javascript google-maps cordova

我想在拖动过程中将标记保留在地图的中心。我试图使用拖动事件,但无济于事。 我还启动了一个setInterval例程来打印中心,它在拖动过程中没有改变。难道我做错了什么 ?还有另一种方法可以将标记保持在中心吗?

这是我的事件监听器。

google.maps.event.addListener(MapPage.map,'center_changed', function() {
    if (MapPage.el.find('.selectedMenu').hasClass("rdv")){

        var center = MapPage.map.getCenter();
        MapPage.rdvMarker.setPosition(center);

        //setInterval(function(){google.maps.event.trigger(map, 'dragend');console.log(MapPage.map.getCenter())},200);
    }
});

1 个答案:

答案 0 :(得分:0)

您可以通过始终在地图中心设置标记来实现此目的!因此,无论何时拖动,它都会将标记置于地图的中心。

var map = new google.maps.Map(document.getElementById("map_canvas"),
            mapOptions);

var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title: 'Hello World!'
});

google.maps.event.addListener(map, 'center_changed', function () {
    // 0.1 seconds after the center of the map has changed,
    // set back the marker position.
    window.setTimeout(function () {
        var center = map.getCenter();
        marker.setPosition(center);
    }, 1);
});