web-dev-qa-db-ja.com

Android Google Maps API v2上のテキスト付きの複数のマーカー

私の目標は、Android Google Maps API v2マップ上のそれぞれにテキストが付いた複数のマーカーを用意することです。情報ウィンドウアプローチ(showInfoWindow())は、一度に表示される情報ウィンドウは1つだけです。たとえば、次のような情報が必要です。 enter image description here

ご覧のとおり、各マーカーには独自のデータ(この例では数値)が常に表示されています。 Android Google Maps API v2でこれをどのように実現できますか?

13
Paulius

そのためには、個々のマーカーのアイコンを必要なものにカスタマイズする必要があります。これがリンクです: https://developers.google.com/maps/documentation/Android/marker#customize_a_marker

次に、いくつかのPNGリソース(青、黄、赤)を配置し、実行時に正しいビットマップを取得し、コードによってビットマップにテキストを書き込み、fromBitmap (Bitmap image)でカスタムマーカーとして設定します。方法。

10
Budius

これらのリンクを試してください使用するのが最善であり、追加する方法にも役立ちますAndroid Google Maps API v2

  1. Link1
  2. Link2
6
Dixit Patel

これを試してください

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));
3
Shikhar

すぐに使えるクラスタリングソリューションを試すこともできます: Android Maps Extensions

2
MaciejGórski

updateとして:
Android Maps Utilsにマーカークラスタリングユーティリティが追加されました
https://developers.google.com/maps/documentation/Android/utility/marker-clustering

https://github.com/googlemaps/Android-maps-utils

0
Paul Alexander