![](/img/trans.png)
[英]Google Maps v3 - Why is LatLngBounds.contains returning false
[英]Google maps LatLng and LatLngBounds returning different results
我目前正在学习使用谷歌地图,并按照以下内容为我的地图设置最大界限: 谷歌地图 v3 - 限制可视区域和缩放级别
我的界限设置为:
var strictBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(41.600, -87.857),
new google.maps.LatLng(42.065, -87.310)
)
在我的dragend
事件侦听器中,我console.log(strictBounds)
并得到以下信息:
它正在返回我的西南纬度和东北纬度作为一个LatLng
和我的西南经度和东北经度作为一个LatLng
。
我可以稍微破解它并设置西南和东北坐标,以便返回是我想要的样子,但我想知道为什么在这种情况下会发生这种情况,我是否会与其他人进一步遇到这个问题谷歌地图方法?
编辑:
只是为了澄清,我在strictBounds
设置的两个LatLng
位置应该是地图最大边界的southWest 和northEast 位置。
当我使用上面链接中提供的addListener
方法(Google Maps v3 - 限制可视区域和缩放级别)时,它会从strictBounds
错误的纬度/经度。
而不是抓取: (41.6, -87.857), (42.065, -87.310)
它抓取: (41.6, 42.065), (-87.31, -87.856999..)
您定义边界的方式是正确的。 只是不要使用 console.log(strictBounds)。 请改用以下内容
var sw = strictBounds.getSouthWest();
var ne = strictBounds.getNorthEast();
console.log(sw.lat() + "," + sw.lng());
console.log(ne.lat() + "," + ne.lng());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.