使用gmaps.js时如何获取googlemaps api地图的边界

时间:2015-09-06 02:56:16

标签: jquery google-maps

我使用谷歌地图api gmaps.jd和https://hpneo.github.io/gmaps/ 我无法通过getBounds()访问地图的边界,它总是返回undefined。

 function drawMap(lat,lng, target, zoom){
   var map = new GMaps({
    div: target,
    lat: lat,
    lng: lng,
    zoom: zoom,
   scrollwheel: false,

});
return map;
}
map =  drawMap(51.5073346,-0.1276831, '#homeMap', 9);
console.log(map.getBounds()); //always undefined

使用gmpaps.js和googlemaps api时如何加入地图边界?

1 个答案:

答案 0 :(得分:0)

我认为问题是你试图过早地接受限制。地图是异步创建的,因此在创建地图之前执行获取边界的代码。

您可以注册一个事件处理程序,等到创建地图后再获取边界:

map = drawMap(51.5073346,-0.1276831, '#homeMap', 9);
google.maps.event.addListenerOnce(map.map, 'bounds_changed', function() {
    console.log(map.getBounds());
});

注意:由于这使用google.maps.event.addListenerOnce()来注册事件处理程序,因此必须传递本地google.maps.Map对象,该对象是通过调用map.map获得的。

jsfiddle