2013-01-13 14 views
13

私の目標は、AndroidのGoogle Maps API v2の地図上に複数のマーカーをそれぞれのテキストで表示することです。一度に1つの情報ウィンドウしか表示されないので、情報ウィンドウアプローチ(showInfoWindow())は適切ではありません。たとえば、私は次のようなものを持っています:enter image description hereAndroidのテキストを含む複数のマーカーGoogle Maps API v2

各マーカーには、常に表示されている独自のデータ(この例の番号)があります。 AndroidのGoogle Maps APIでこれを実現するにはv2

答えて

10

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

次に、いくつかのPNGリソース(青、黄色、赤)を配置し、実行時に正しいビットマップを取得し、コードでビットマップにテキストを書き込んだ後、カスタムとして設定することができます。 - fromBitmap (Bitmap image)メソッドのマーカー。

+0

感謝を試してみてください。私は自分の目標に達することができました。 – Paulius

6

それはあなたがAndroidのGoogleマップAPI v2でテキストを複数のマーカーを追加する方法に

  1. Link1
  2. Link2
+0

Dixit、ありがとうございます、あなたの答えも役に立ちますが、今度はBudiusが速かったです。 – Paulius

2

を助ける&を使用するのが最善であるこれらのリンクをお試しくださいクラスタリングのためのすぐに使えるソリューションを試してみたいかもしれません:Android Maps Extensions

+0

chek my answer below – Shikhar

3

これのアイデアのための

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)); 
+0

あなたのクスダムレイアウトを定義してください。xml imageviewとtext view xml – Shikhar

関連する問題