jQuery UI映射控件单击



我正试图在jQuery Ui Map上创建一个按钮,当用户单击该按钮时,地图应在用户位置上平移到(或居中)

我有以下控制

<div id="userLocate" style="margin:15px 15px 15px 20px;padding:5px 5px 5px 10px;"><img src="img/locate.png"></div>

这个JS

        $('#map_canvas').gmap().bind('init', function() {   
            //Set click event on userLocationControl
            $('#userLocate').click(function(event) {
                var lat = newPoint.lat();
                var lng = newPoint.lng();
                var np = new google.maps.LatLng(lat, lng);
                console.log("lat: " + lat + " lng: "+ lng);
                $('#map_canvas').gmap('get', 'map').panTo(np);
                console.log("lat: " + np.lat() + " lng: "+ np.lng());
                $('#map_canvas').gmap('option', 'zoom', 15);
            });
            //Add userLocationControl
            $('#map_canvas').gmap('addControl', 'userLocate', google.maps.ControlPosition.RIGHT_BOTTOM);    
        });

当单击该按钮时,我可以看到日志在调用panTo方法之前和之后写入了正确的纬度和经度,但地图被平移到位置0,0。我尝试过使用setCenter方法,得到了相同的结果

如果在click函数之外调用方法并向其发送newPoint变量(这是一个LatLng对象),则一切正常。

最后,我不得不添加一个返回;语句,击败了我…但它工作

最新更新