Android Map:如何在Map Marker上检测ImageView重叠?

时间:2016-11-26 17:12:43

标签: android android-maps-v2

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

这样做的可能方法是什么?

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

ss

1 个答案:

答案 0 :(得分:2)

你可以用这个

获得地图的中心
    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);
    }

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