我目前正在Android Studio上为Google地图编码。
我根据搜索栏上搜索的文本使搜索功能正常工作。一旦用户按下"搜索"地图将放大到所选位置并放置彩色标记。
但是,我想这样做:
选择位置后,您将根据特定半径/特定区域显示多个标记。
答案 0 :(得分:1)
您可以将地图上的标记添加为不可见,并计算所需位置与每个标记之间的距离,以显示比指定距离更近的标记。
private List<Marker> markers = new ArrayList<>(); // List to hold your markers
将标记添加到地图和列表中:
Marker marker = mMap.addMarker(new MarkerOptions().position(yourPosition).visible(false));
markers.add(marker);
然后创建一个函数,给定LatLng
计算每个标记的距离(我使用Google Maps Android API Utility Library中的SphericalUtil.computeDistanceBetween
)并显示所需的标记:
private void showMarkers(LatLng location, float distance) {
for(Marker marker : markers) {
if (SphericalUtil.computeDistanceBetween(marker.getPosition(), location) <= distance) {
marker.setVisible(true);
} else {
marker.setVisible(false);
}
}
}