Android Google Maps V2 - 指示屏幕上当前 VisibleRegion 之外是否有标记
Android Google Maps V2 - Indicate if there are markers outside of the current VisibleRegion on screen
我一直在尝试为我的应用程序制定一种方法,以指示地图上何时存在当前 view/screen/bound/VisibleRegion 之外的标记。
例如,如果地图上当前有 5 个标记,但用户放大到他们看不到任何标记的地图的一部分,那么我希望能够向用户标记有标记在地图上他们看不到的东西或沿着这些线的东西(如果能够指示标记从当前位置的哪个方向会很好)。
我想过使用
LatLngBounds currentScreen = googleMap.getProjection()
.getVisibleRegion().latLngBounds;
但这只能告诉我当前可见区域中有哪些标记。
如有任何帮助,我们将不胜感激。
首先,您应该将所有标记保存在某个地方。例如,在列表
List<Marker> markers = new ArrayList<>();
Marker marker = mMap.addMarker(new MarkerOptions().position(new LatLng(55.123, 36.456)));
markers.add(marker);
之后您可以检查一下,您的屏幕外是否有标记
LatLngBounds currentScreen = mMap.getProjection().getVisibleRegion().latLngBounds;
for(Marker marker : markers) {
if(currentScreen.contains(marker.getPosition())) {
// marker inside visible region
} else {
// marker outside visible region
}
}
我一直在尝试为我的应用程序制定一种方法,以指示地图上何时存在当前 view/screen/bound/VisibleRegion 之外的标记。
例如,如果地图上当前有 5 个标记,但用户放大到他们看不到任何标记的地图的一部分,那么我希望能够向用户标记有标记在地图上他们看不到的东西或沿着这些线的东西(如果能够指示标记从当前位置的哪个方向会很好)。
我想过使用
LatLngBounds currentScreen = googleMap.getProjection()
.getVisibleRegion().latLngBounds;
但这只能告诉我当前可见区域中有哪些标记。
如有任何帮助,我们将不胜感激。
首先,您应该将所有标记保存在某个地方。例如,在列表
List<Marker> markers = new ArrayList<>();
Marker marker = mMap.addMarker(new MarkerOptions().position(new LatLng(55.123, 36.456)));
markers.add(marker);
之后您可以检查一下,您的屏幕外是否有标记
LatLngBounds currentScreen = mMap.getProjection().getVisibleRegion().latLngBounds;
for(Marker marker : markers) {
if(currentScreen.contains(marker.getPosition())) {
// marker inside visible region
} else {
// marker outside visible region
}
}