使用googlemapsapiv3查找给定中心点的地图边界
find the bounds of my map given its center point with google maps api v3
我正在尝试确定正在设置动画的标记是否在地图的可视区域内。如果不是,我想告诉我的地图平移到标记位置作为中心位置。我该怎么做?这是我的代码:
var curPoint = racePath.GetPointAtDistance(curDist);
var curZoom = self.map.zoom;
var mapBounds = new google.maps.LatLngBounds(currentCenter);
var isInBounds = mapBounds.contains(curPoint);
这是不起作用的,因为mapBounds需要地图的西南点和东北点,但如果不从mapBounds.getNorthEast()和mapBounds.getSouthWest()方法中获取它们,我不知道如何计算这些点-这里有文档:https://developers.google.com/maps/documentation/javascript/reference#LatLngBounds.
关于如何解决这个问题有什么想法吗?
要确定映射的当前边界,请在映射变量上调用getBounds():https://developers.google.com/maps/documentation/javascript/reference#Map
如果您想知道一个点是否在当前视图区域内,请在LatLngBounds上调用"contains(LatLng)"。像这样:
var currentBounds = myMap.getBounds();
var isInSight = currentBounds.contains(myPointLatLng);
if(isInSight){
//Your point is within the current bounds
}
如果你想平移,使地图以你的点为中心,在你的地图变量上调用"panTo(LatLng)":
var currentBounds = myMap.getBounds();
var isInSight = currentBounds.contains(myPointLatLng);
if(isInSight){
myMap.panTo(myPointLatLng);
}
相关文章:
- 将谷歌地图中的平移边界设置为图像覆盖
- 将边界设置为overlayImage谷歌地图
- 世界的最大纬度和长边界 - 谷歌地图API LatLngBounds().
- 谷歌地图API地理编码器,受边界限制
- 谷歌地图的多段线边界
- 在谷歌地图API中设置邮政编码边界
- 谷歌地图v3:你可以设置一个地图的边界
- 如何生成带有边界的谷歌地图
- 地图边界!如何检查地址是否位于边界中
- 谷歌地图路线拖动后的路线边界
- 谷歌地图边界不起作用
- 谷歌地图适合带填充的边界
- 如何平移和缩放到由标记定义的地图边界
- 使用googlemapsapiv3查找给定中心点的地图边界
- 谷歌地图API 3-限制平移/地图边界
- 如何获得地图边界
- 过滤谷歌地图自定义覆盖取决于他们是否落在当前的地图边界
- 谷歌地图API: radarsearch与地图边界返回结果外面
- Mapbox-gl:从中心点,缩放级别和尺寸计算地图边界
- 设置GPS和标记之间的地图边界