私の目標は、Android Google Maps API v2マップ上のそれぞれにテキストが付いた複数のマーカーを用意することです。情報ウィンドウアプローチ(showInfoWindow())は、一度に表示される情報ウィンドウは1つだけです。たとえば、次のような情報が必要です。
ご覧のとおり、各マーカーには独自のデータ(この例では数値)が常に表示されています。 Android Google Maps API v2でこれをどのように実現できますか?
そのためには、個々のマーカーのアイコンを必要なものにカスタマイズする必要があります。これがリンクです: https://developers.google.com/maps/documentation/Android/marker#customize_a_marker
次に、いくつかのPNGリソース(青、黄、赤)を配置し、実行時に正しいビットマップを取得し、コードによってビットマップにテキストを書き込み、fromBitmap (Bitmap image)
でカスタムマーカーとして設定します。方法。
これを試してください
LinearLayout tv = (LinearLayout) this.getLayoutInflater().inflate(R.layout.marker_dialog, null, false);
tv.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
tv.layout(0, 0, tv.getMeasuredWidth(), tv.getMeasuredHeight());
tv.setDrawingCacheEnabled(true);
tv.buildDrawingCache();
Bitmap bm = tv.getDrawingCache();
LatLng latLng = new LatLng(latitudemy, longitudemy);
BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(bm);
BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher);
map.addMarker(new MarkerOptions().position(new LatLng(latitudemy, longitudemy)).title("Origin").snippet("Srivastava").icon(icon));
// Showing the current location in Google Map
map.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("destination").snippet("Srivastava").icon(icon));
すぐに使えるクラスタリングソリューションを試すこともできます: Android Maps Extensions
updateとして:
Android Maps Utilsにマーカークラスタリングユーティリティが追加されました
https://developers.google.com/maps/documentation/Android/utility/marker-clustering
https://github.com/googlemaps/Android-maps-utils