[英]Why can't I get latitude and longitude using getBounds function?
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函数不起作用,因此会给出“未定义”的值。
有什么问题吗?
您必须实现一个侦听器,才能正确显示getBounds()
我建议这段代码(编辑) :
google.maps.event.addListenerOnce(map, 'idle', function(){
var bounds = map.getBounds();
alert(bounds);
});
这是您的小提琴,因此您可以对其进行测试(加载后,请再次单击“运行”): http : //jsfiddle.net/vA4eQ/280/
根据Google文档,
的getBounds()
返回值:LatLngBounds返回当前视口的纬度/经度边界。 如果可以看到一个以上的世界副本,则边界的经度范围为-180至180度(含)。 如果地图尚未初始化(即mapType仍为null),或者尚未设置中心和缩放,则结果为null或未定义。
因此,您必须首先初始化地图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.