Android 地图:如何检测 ImageView 在地图标记上的重叠?

Android Map: How to detect ImageView overlapping on Map Marker?

在我的地图 Activity 中,我显示了一些指示停车场的标记,并且我有一个显示汽车图标的 ImageView,该图标固定在地图片段顶部的屏幕中心。我想在拖动地图时汽车图标与 parking_lot 标记重叠时执行一些操作。

有哪些可行的方法?

我可以在拖动时获得汽车的 LatLong,但我不知道下一步该做什么。

你可以用这个得到地图的中心

Map.getCameraPosition().target;

然后你可以用这个方法找到用户位置和中心之间的距离:

private static double distance(double lat1, double lon1, double lat2, double lon2) {
    double theta = lon1 - lon2;
    double dist = Math.sin(Math.toRadians(lat1)) * Math.sin(Math.toRadians(lat2)) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.cos(Math.toRadians(theta));
    dist = Math.acos(dist);
    dist = Math.toDegree(dist);
    dist = dist * 60 * 1.1515;
    return (dist * 1.609344);
}

如果距离低于特定值,请执行您想要的操作