如何在用户滚动时更新谷歌地图中心

how to update google map center when user scrolls

本文关键字:更新 谷歌地图 滚动 用户      更新时间:2023-09-26

我已经能够使用以下代码在谷歌地图的中心放置一个标记,并单击该标记显示一个关于中心坐标的信息窗口。但当我滚动地图,然后点击标记时,它会显示相同的坐标。如何更新,以便在缩放/滚动/平移地图时显示更新的中心?请帮忙。

    function initialize() {
    var mapOptions = {
      zoom: 14,
      center: new google.maps.LatLng(52.5498783, 13.425209099999961),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById('map_canvas'),
        mapOptions);
    $('<div/>').addClass('centerMarker').appendTo(map.getDiv())
         //do something onclick
        .click(function(){
           var that=$(this);
           if(!that.data('win')){
            that.data('win',new google.maps.InfoWindow({content:
                           myGeoCode(map.getCenter())
                                                       }));
            that.data('win').bindTo('position',map,'center');
           }
           that.data('win').open(map);
        });
    }
  google.maps.event.addDomListener(window, 'load', initialize);
    function myGeoCode(latlng){
      return 'Your Coor is ' + latlng;
    }

bindto方法等有哪些?看起来不像是在使用标准标记。。。不管怎样,您都可以使用空闲事件来更新标记/信息窗口

google.maps.event.addListener(map, 'idle', function() {
   // assign map.getCenter() to InfoWindow reference
})