2012-04-17 5 views
0

デフォルトの「マイロケーション」の青い点を画像で変更する方法を検討する必要があります。旅行の方向を指すコンパス。これは、デバイスのコンパスやGPSからの旅行の方向を検出することによって解決することができますAndroidプログラミング、mapview locationoverlay:デフォルトの青位置を他の画像で変更する方法

私はいくつかのグーグルを行ってきましたが、これまでiPhoneのドットを変更する方法のリファレンスを見つけただけで、私はこの

種類にいくつかの支援と指導をいただければと思います

Androidのは... OnCreate関数で

ニック

について: LocationManagerのLOCMAN =(LocationManager)GEをtSystemService(Context.LOCATION_SERVICE); OnLocationChangedで

locman.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 2, locationListener); 

    //Adds a current location overlay to the map 'mapView' and turns on the map's compass 

    MyLocation myLocationOverlay = new MyLocation(this, mapView); 
    mapView.getOverlays().add(myLocationOverlay); 
    myLocationOverlay.enableMyLocation(); 
    myLocationOverlay.enableCompass(); 

    mapView.getOverlays().add(myLocationOverlay); 
    mapView.postInvalidate(); 

dbllatitude = locFromGps.getLatitude(); 
     dbllongitude = locFromGps.getLongitude(); 
     dblaltitude = locFromGps.getAltitude(); 


bearing = locFromGps.getBearing(); 


    strlatitude = Double.toString(dbllatitude); 
     strlongitude = Double.toString(dbllongitude); 
     dblaltitude = (dblaltitude/0.3048); 

     LocationText.setText("Your Location: Latitude " + dbllatitude + " Longitude: " +dbllongitude + " Altitude " + dblaltitude); 



     boolean hasbearing = locFromGps.hasBearing(); 


     if (hasbearing = false) { 

      Toast.makeText(getApplicationContext(), "No bearing", Toast.LENGTH_SHORT).show(); 

     } 
     else 
     { 
      Toast.makeText(getApplicationContext(), "I HAZ bearing: " + bearing, Toast.LENGTH_SHORT).show(); 
     } 
     MyLocation.mOrientation = bearing; 
+0

Webベースを通じて 'MapView'と' MyLocationOverlay'、またはいくつかの施設を参照していますグーグルマップ? – CommonsWare

+0

私はMapViewとMyLocationOverlayを参照しています。私は以下の答えをコメントしました、私はアイコンが変更されているが、それは電話と同じ方向を指すようにする必要があります... – Nick

答えて

1

サブクラスMyLocationOverlaydrawMyLocation(...)メソッドをオーバーライドして提供されたパラメータを使用して画像を描画します。いくつかの例は、SO、あなたの方法であなたを助けることができるブログ、例えば上ここにあります得るために探して誰のために

+0

私はアイコンが変更されているが、私は必要な本物になっているデバイスの移動方向を指します。この例のコード:http://stackoverflow.com/questions/753793/how-can-i-use-a-custom-bitmap-for-the-you-are-here-point-in-a-ylyloveroverover うまくいかないようです。私はGPSからのgetBearing()を使って自分のlocationListenerに変数を作成しようとしましたが、その変数をmatrix.postrotate()に渡していましたが、これまでどんな運もありませんでした... – Nick

+0

* "動作していないようです"次のように:何もしない、またはあなたが期待したことをしない?私はこの件についてもっと多くの例が浮かび上がると確信しています。私はあなたが問題を抱えている回転の側面に主に関係するように、あなたが 'MapView'でカスタムコンパスを作成する方法についてseachを行うことをお勧めします。 –

+0

それは何もしません - 私は現在の軸受が0.0を読んでいるというトーストメッセージを持っています。しかし、私はそれが5秒間すべて働いていたが、その後0に戻る。再び0になるので、技術的にはうまくいくはずですか? : メインの質問にコードの一部を追加します... – Nick

関連する問題