2012-12-12 4 views
17

アプリケーションのカスタムアイコンを使用してユーザーの現在地を確認しています。新しいGoogleマップライブラリにアップグレードしている間、このようにしたいと考えています。Android GoogleマップV2の変更ロケーションアイコン

Google Maps v1ライブラリでは、MyLocationOverlayを拡張し、drawMyLocationメソッドを上書きしてそこにカスタムアイコンを描画しました。

GoogleMapはsetMyLocationEnabledメソッドで現在の位置を有効にしますが、私が知る限り、カスタマイズする方法はありません。

誰もがv2でこれを達成する方法を知っていますか?

答えて

3

[OK]を、ので、私はちょうどあなたがタイトルやスニペットを追加しない場合は、マーカーはクリックイベントに影響を与えないことを考え出し、それはとして機能します画像オーバーレイ。それは完璧ではないにもかかわらず、それは私のニーズに合った

private Marker marker = mMap.addMarker(new MarkerOptions() 
        .position(latLng) 
        .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow))); 

おかげでみんな

13

カスタムアイコンを使用するマップコンストラクタでマーカーを作成します。

_myLocation = mMap.addMarker(new MarkerOptions() 
         .position(MAP_CENTER) 
         .title("My Location") 
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.mylocation))); 

更新 https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/LocationSource.OnLocationChangedListener

、プロバイダが呼び出されたマーカーの場所リスナーを変更しました場所を実装します。現在の場所にカスタムアイコンを表示する方法は間違いあり

public void onLocationChanged (Location location) 
{ 
    _myLocation.position(location); //May have to convert from location to LatLng 
} 
+1

これは、それがV1ライブラリ上で行われるために使用された方法です。 V2では、アクティビティ内でMapViewを処理しません。さらに、V2にはオーバーレイクラスがありません。 https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/package-summary –

+1

私が悪いです、私はあなたがGoogle Playバージョンのマップ。上記の私の更新答えをご覧ください。これは、GoogleマップのJavascriptのバージョンがどのように動作するかと非常によく似ているので、いいです。 – javram

+1

@RobertEstivill:AFAIK、これはあなたの唯一のオプションです。 – CommonsWare

0

を。 チェックアウトLink地図上にアイコンをカスタマイズすることをお勧めします。

は、以下のコード試してみてください:

private static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298); 
private Marker melbourne = mMap.addMarker(new MarkerOptions() 
         .position(MELBOURNE) 
         .title("Melbourne") 
         .snippet("Population: 4,137,400") 
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow))); 
+0

これは実行できますが、現在のMyLocationメカニズムと互換性がありません。言い換えれば、すべてのウィンドウ情報なしでマーカーを使用できますが、手動でLocationListenerを実装して、描画可能な場所を移動する必要があります。内蔵の場所機能を再利用することはできません –

+0

これはAFAIKの唯一の方法です。あなたの問題について私が知ることができるように、いくつかのコードを投稿してください。ありがとうございました。 – GrIsHu

関連する問題