Jquery 设置期间谷歌地图坐标正在闪烁

Jquery 设置期间谷歌地图坐标正在闪烁,jquery,google-maps,Jquery,Google Maps,我有HTML页面,其中包含谷歌地图。我有定时器,它调用函数,它移动地图。地图已移动,但每次都会闪烁。那么如何修复这个bug呢 function Replace(lt,ln) { var location = new google.maps.LatLng(lt, ln); var myOptions = { zoom: 15, center: location, mapTypeControl: true, mapTypeCon

我有HTML页面,其中包含谷歌地图。我有定时器,它调用函数,它移动地图。地图已移动,但每次都会闪烁。那么如何修复这个bug呢

function Replace(lt,ln)
{
var location = new google.maps.LatLng(lt, ln);
    var myOptions = {
        zoom: 15,
        center: location,
        mapTypeControl: true,
        mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU },
        navigationControl: true,
        navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL },
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var companyPos = new google.maps.LatLng(lt, ln);
    var companyMarker = new google.maps.Marker({
        position: companyPos,
        map: map,
        title: "Test"
    });

   }

这不是bug,每次运行此函数时都会创建一个新的maps实例(导致闪烁)

分离代码,在第一次运行时创建地图/标记实例,之后仅更新地图中心和标记位置:

function Replace(lt,ln){

    var location = new google.maps.LatLng(lt, ln);
    var companyPos = new google.maps.LatLng(lt, ln);
    //map not created yet
    if(!window.map){
          var myOptions = {
            zoom: 3,
            center: location
          };
          //Note: map and companyMarker must be global
          map = new google.maps.Map(document.getElementById("map_canvas"), 
                                     myOptions);
          companyMarker = new google.maps.Marker({
            position: companyPos,
            map: map,
            title: "Test"
          });
    }
    //map already initialized, update center and position
    else{
      map.setCenter(location);
      companyMarker.setPosition(companyPos);
    }
}