Google 地图 - 如何在不刷新布局的情况下添加标记

Google maps - how to add marker without layout refresh

添加标记有问题。

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

    // To add the marker to the map, call setMap();
    marker.setMap(map);

https://jsfiddle.net/73ogq84a/

简单的例子,每秒钟我放置标记,页面不是重新加载,而是重新加载一些布局,我们看到地图重新加载的效果。

可以顺利的把marker放好。

但是在这个页面上http://www.flightradar24.com/simple_index.php一切正常,飞机在飞行,地图重新加载没有影响。

创建标记时提供地图属性:

function placeMarker(location) {
   var marker = new google.maps.Marker({
    position: location, 
    map: map,
    title:"Hello World!"
});

将标记和地图设为全局。不要每次都重新创建地图,移动标记即可。

var map, marker, myLatlng;

setInterval(function () {
    if (!marker || !marker.setPosition) {
        marker = new google.maps.Marker({
            position: myLatlng,
            title: "Hello World!"
        });

        // To add the marker to the map, call setMap();
        marker.setMap(map);
    } else {
        marker.setPosition(myLatlng);
    }

}, 5000);

updated fiddle