var map;
function initialize(location) {
var currentPosition = new google.maps.LatLng(14.457264, 121.024038);
var mapOptions = {
center: currentPosition,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
};
map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions)
var marker = new google.maps.Marker({
position: currentPosition,
map: map,
icon: "../images/02_button_add.png"
});
var bounds = map.getBounds();
alert(bounds);
}
以上是我的代码,我可以在地图上找到我当前的位置。 但是,当尝试使用信息进行警报时,getBounds函数不起作用,因此它会给出“未定义”值。
有什么不对吗?
答案 0 :(得分:1)
您必须实现一个侦听器才能使getBounds()正确显示
我建议使用此代码(编辑):
google.maps.event.addListenerOnce(map, 'idle', function(){
var bounds = map.getBounds();
alert(bounds);
});
这是你的小提琴,所以你可以测试它(在它再次加载点击之后):http://jsfiddle.net/vA4eQ/280/
答案 1 :(得分:0)
根据Google文档,
的getBounds()
返回值:LatLngBounds 返回当前视口的lat / lng范围。如果可以看到世界的多个副本,则边界的范围为-180到180度(包括-180和180度)。 如果地图尚未初始化(即mapType仍然为null),或者尚未设置居中和缩放,则结果为null或未定义。
因此,您必须先初始化地图。