0

デフォルトの「現在地」の青い点を画像で変更する方法を検討する必要があります。これも、移動方向を示すコンパスと同じように機能します。これは、デバイスのコンパスによって、またはGPSから進行方向を検出することによって解決できます

私はいくつかのグーグルを行いましたが、これまでのところ、iPhoneでドットを変更する方法のリファレンスしか見つかりませんでした。Androidで作業しています...

これでいくつかのサポートとガイダンスをいただければ幸いです

敬具

ニック

OnCreateの場合:

        LocationManager locman = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        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();


In OnLocationChanged:


    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;

4

2 に答える 2

1

サブクラスMyLocationOverlaydrawMyLocation(...)メソッドをオーバーライドし、提供されたパラメーターを使用して画像を描画します。SOとブログには、途中で役立ついくつかの例があります。例:

于 2012-04-17T22:48:32.990 に答える
0

ユーザーの場所のアイコンを回転させる同様の機能を取得したい他の人は、次の投稿を参照してください。

Androidgetbearingは0.0のみを返します。現在地アイコンを回転させるために使用しようとしています

ロケーションマネージャー.getbearing()が便利です

よろしく

ニック

于 2012-04-29T20:39:11.350 に答える