Google地图中的自定义标记

时间:2015-12-09 10:39:58

标签: android google-maps google-maps-api-3

我已经构建了一个音乐应用程序,现在我正在尝试构建一个更像Shazam或Instagrams的映射功能,如下所示:

Map showing content stacked together

最初,我要在几个点上删除一般标记而不实际显示该位置的所有活动。然后在点击该标记时,地图将放大并显示更具体的其他标记,依此类推。

Map showing more detailed markers

是否有可用的教程可以在Android中实现此效果?

2 个答案:

答案 0 :(得分:0)

我刚刚发现Google有一个实用程序库,可以提供标记聚类。可在此处找到文档https://developers.google.com/maps/documentation/android-api/utility/marker-clustering

答案 1 :(得分:0)

您可以使用此功能创建添加自定义标记的方法:

private void drawCustomMarker(LatLng point) {
    MarkerOptions markerOptions = new MarkerOptions();
    markerOptions.position(point);
    markerOptions.title("SMS");
    markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.sms));
    mMap.addMarker(markerOptions);
}

您可以将LatLng对象传递到要放置标记的位置。我在地图点击监听器中使用过它:

mMap.setOnMapLongClickListener(new GoogleMap.OnMapLongClickListener() {
    @Override
    public void onMapLongClick(LatLng newlatLng) {
        drawCustomMarker(newlatLng);
    }
});

希望它会帮助你......!