显示Google地图上所选位置周围的标记

时间:2016-06-27 06:29:02

标签: android google-maps

我目前正在Android Studio上为Google地图编码。

我根据搜索栏上搜索的文本使搜索功能正常工作。一旦用户按下"搜索"地图将放大到所选位置并放置彩色标记。

但是,我想这样做:

选择位置后,您将根据特定半径/特定区域显示多个标记。

1 个答案:

答案 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);
        }
    }
}