4

Googleで検索しましたが、取得できませんでした。値がマーカーにあるこのタイプが必要です

ここに画像の説明を入力

上記のように行う方法がわかりませんでした。

GoogleMap gm;

    gm = ((SupportMapFragment) (getSupportFragmentManager()
                .findFragmentById(R.id.map))).getMap();

    gm.setOnInfoWindowClickListener(this);
    gm.addMarker(new MarkerOptions()
                            .title(jsonObj.getString("project_name"));

   @Override
   public void onInfoWindowClick(final Marker marker) {

   String name = marker.getTitle(); // this displays when marker window gets tap

}

しかし、マーカーウィンドウをタップすると、上記のコードが表示されます。上記の iamge リンクのように表示したいだけです。問題の解決にご協力ください。

前もって感謝します。

4

3 に答える 3

7

Android マップ ユーティリティ ライブラリを使用する

ここにウェブサイトへのリンクがあり、投稿されたビデオを参照してください。

http://googlemaps.github.io/android-maps-utils/

1.ライブラリをダウンロード

github.com/googlemaps/android-maps-utils

2.使用するには、このリンクを確認してください

ADT での android-maps-utils の使用

  IconGenerator tc = new IconGenerator(this);
  Bitmap bmp = tc.makeIcon("hello"); // pass the text you want.

次に、ビットマップをマップ オブジェクトに設定します。

  .icon(BitmapDescriptorFactory.fromBitmap(bmp))); 

スナップ

ここに画像の説明を入力

于 2013-10-08T08:47:57.120 に答える
3

マーカー アイコンを完全に自由に描画するには、コードは次のようになります。この場合、テキストのみがマーカーのコンテンツです。ただし、キャンバスには何でも描くことができます。必ずサイズを合わせてください。

public BitmapDescriptor getTextMarker(String text) {

    Paint paint = new Paint();
    /* Set text size, color etc. as needed */
    paint.setTextSize(24);

    int width = (int)paint.measureText(text);
    int height = (int)paint.getTextSize();

    paint.setTextAlign(Align.CENTER);
    // Create a transparent bitmap as big as you need
    Bitmap image = Bitmap.createBitmap(width, height, Config.ARGB_8888);
    Canvas canvas = new Canvas(image);
    // During development the following helps to see the full
    // drawing area:
    canvas.drawColor(0x50A0A0A0);
    // Start drawing into the canvas
    canvas.translate(width / 2f, height);
    canvas.drawText(text, 0, 0, paint);
    BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(image);
    return icon;
}

次に、マーカー オプションを作成するときにこのメソッドを使用します。

mMap.addMarker(new MarkerOptions()
.position(new LatLng(lati, longi))
.icon(getTextMarker("some text"));
于 2013-10-09T10:36:16.840 に答える
2

Google Maps for Android V2のドキュメントによると:

情報ウィンドウを使用すると、ユーザーが地図上のマーカーをタップしたときに情報を表示できます。デフォルトでは、マーカーにタイトルが設定されている場合、ユーザーがマーカーをタップすると情報ウィンドウが表示されます。一度に表示される情報ウィンドウは 1 つだけです。ユーザーが別のマーカーをクリックすると、現在のウィンドウが非表示になり、新しい情報ウィンドウが表示されます。ターゲット マーカーでshowInfoWindow()を呼び出すことにより、プログラムで情報ウィンドウを表示でき ます。hideInfoWindow()を呼び出すと、情報ウィンドウを非表示にできます。

次のように情報ウィンドウを表示できます。

Marker marker = myMap.addMarker(new MarkerOptions()
                     .position(latLng)
                     .title("Title")
                     .snippet("Snippet")
                     .icon(BitmapDescriptorFactory
                     .fromResource(R.drawable.marker)));

marker.showInfoWindow();

うまくいくことを願っています。

于 2013-10-08T08:54:51.177 に答える