Moveend在Google地图中触发

时间:2013-12-07 17:19:05

标签: javascript google-maps google-maps-api-3

我试图在访客移动地图时通过Json添加标记。由于某种原因,未捕获moveend和/或未触发onClickCallback函数。我在哪里错了。

 google.maps.event.addListener(map, "moveend", function() {
  var bounds = this.getBounds();
  onClickCallback(map);

 });


function onClickCallback(map) {

var bounds = map.getBounds();


  // clearOverlays();



    $.getJSON( 'http://skiweather.eu/gmap4/markers/index.php', {
        swLat: bounds.getSouthWest().lat(), swLon: bounds.getSouthWest().lng(), 
        neLat: bounds.getNorthEast().lat(), neLon: bounds.getNorthEast().lng()}, function(data) { 
        $.each( data.markers, function(i, marker) {


        // Define Marker properties
        var image = new google.maps.MarkerImage(marker.smallimg,
        // This marker is 129 pixels wide by 42 pixels tall.
            new google.maps.Size(42, 42),
        // The origin for this image is 0,0.
            new google.maps.Point(0,0),
        // The anchor for this image is the base of the flagpole at 18,42.
            new google.maps.Point(18, 42)
        );


            $('#map').gmap('addMarker', { 'id' : marker.id,
                'position': new google.maps.LatLng(marker.latitude, marker.longitude),
                'icon' : image,             
                'bounds': true 
            }).click(function() {
                $('#map').gmap('openInfoWindow', { 'content': '<h2>' + marker.loc + '</h2><img src="' + marker.smallimg + '" class="my-map-marker" />'
                 }, this);
            });
        });
    });




}   


google.maps.event.addDomListener(window, 'load', initialize); 

3 个答案:

答案 0 :(得分:4)

google.maps V3中不再提供moveend事件,请改用dragend

试试这个:

google.maps.event.addListener(map, "dragend", function() {
    var bounds = this.getBounds();
    onClickCallback(map);

});

答案 1 :(得分:2)

我有同样的问题。

我在google reference;

中找到了答案

事件:空闲

参数:无

平移缩放后地图变为空闲时会触发此事件。

答案 2 :(得分:0)

来自groops google的一篇文章。

google.maps V3在整个地图上缺少一些重要的V2事件:

mousemove 
mouseover 
mouseout 
movebegin 
moveend 

似乎bounds_changed可以提供帮助。另请参阅用户 sabotero 关于dragend的评论。