我正在尝试在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对象),一切正常
答案 0 :(得分:0)
终于做到了,我不得不加回归;声明,打败了我......但它确实有效