我有当前位置的坐标,我正在尝试使用LatLngBounds了解如何从Google地图上的当前位置获取NE和SW角落。
我似乎不了解如何从Google撰写的API中实现LatLngBounds:https://developers.google.com/maps/documentation/business/mobile/android/reference/com/google/android/m4b/maps/model/LatLngBounds
如果有人能向我解释LatLngBounds究竟做了什么以及如何使用它会很棒。如果我需要添加更多信息以清除任何内容,请告诉我。
谢谢。
答案 0 :(得分:0)
LatLng是一个点; LatLngBounds是一个矩形。因此,构建LatLngBounds至少需要两个LatLng:一个用于矩形的SouthWest角,一个用于矩形的NorthEast角。给定这两个点,矩形的另外两个点是平凡计算的。
从您的问题中不清楚为什么需要LatLngBounds。如果您打算在地图上放置一些图像,或者绘制某种类型的矩形,您应该只需要它。如果您只想显示标记或信息框,则不需要LatLngBounds。
如果您计划使用说GroundOverlay来显示以LatLng点为中心的图像,那么它比您想象的更复杂。您将不得不使用地理定位映射工具,您可以将图像放置到地图上,调整大小以适合您的喜好,然后该工具将为您提供LatLngBounds所需的NE和SW LatLng,用于GroundOverlay。
答案 1 :(得分:0)
LatLngBounds
是一个矩形,如您所知,由东北和西南的两个LatLng
对象描述。
您可以通过获取地图相机的Projection
轻松地从当前位置构建LatLng。
getVisibleRegion()
方法获取当前可见的矩形。 VisibleRegion
对象提取farLeft
和farRight
LatLng
属性或仅LatLngBounds
属性LatLngBounds
或者,您可以使用LatLngBounds.Builder
并使用fromScreenCoordinates()方法将屏幕上的点数转换为LatLng来构建NE和SW坐标。
Norteast Point
应位于Point
西南x=0, y=mapView.getRight();
应位于Point
(纠正我,如果我错了)