我使用谷歌地图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时如何加入地图边界?
答案 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
获得的。