我从 v2 切换到 v3 谷歌地图 api 并遇到了问题gMap.getBounds()
功能。
我需要在初始化后获取地图的边界。
这是我的 JavaScript 代码:
var gMap;
$(document).ready(
function() {
var latlng = new google.maps.LatLng(55.755327, 37.622166);
var myOptions = {
zoom: 12,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
gMap = new google.maps.Map(document.getElementById("GoogleMapControl"), myOptions);
alert(gMap.getBounds());
}
);
所以现在它提醒我gMap.getBounds()
未定义。
我尝试在单击事件中获取 getBounds 值,它对我来说效果很好,但我无法在加载地图事件中获得相同的结果。
另外,在 Google Maps API v2 中加载文档时,getBounds 工作正常,但在 V3 中失败。
你能帮我解决这个问题吗?
在 v3 API 的早期,getBounds()
方法要求地图图块已完成加载才能返回正确的结果。不过现在看来你可以听bounds_changed
事件,该事件甚至在tilesloaded
event:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps v3 - getBounds is undefined</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 350px;"></div>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById("map"), {
zoom: 12,
center: new google.maps.LatLng(55.755327, 37.622166),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
google.maps.event.addListener(map, 'bounds_changed', function() {
alert(map.getBounds());
});
</script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)