【问题标题】:Google Map v3 - Cordova - map center is not changed on dragGoogle Map v3 - Cordova - 地图中心在拖动时不会改变
【发布时间】:2014-12-03 09:46:20
【问题描述】:

我试图在拖动过程中将标记保持在地图的中心。我尝试使用拖动事件,但无济于事。 我还启动了一个 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);
    }
});

【问题讨论】:

  • 您的意思是中心的标记将保持不变并且不会随着拖动而移动?
  • 是的,这正是我的意思

标签: javascript google-maps cordova


【解决方案1】:

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

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);
});

【讨论】:

    猜你喜欢
    • 2012-10-02
    • 2011-10-22
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多