0

3〜4フィートのような非常に短い距離の場所を変更した後、「GPS」を介してユーザーの正確な緯度と経度を取得することは可能ですか.

実際、ユーザーの緯度と経度を提供するアプリケーションをAndroidで作成しましたが、ユーザーの同じポイントまたは場所で値を変更します。

この問題から私を助けてください。前もって感謝します。

4

2 に答える 2

0

私の経験によると、使用している電話/デバイスによって異なります。デバイスが AGPS をサポートしている場合、GPS 座標の取得はより簡単かつ高速になります (Android SDK を使用するため、コーディングスキルとは関係ありません)。通常の GPS も正確なデータを返します。Google Play から Savaari アプリケーションをダウンロードしてみてください。2 番目の質問です。特定の時間または距離間隔の後に座標を取得することは可能です。リスナーを登録するときはいつでも、時間を提供する必要があります。 GPS 値を受信するまでの距離 (メートル単位)。

このスニペットをチェックしてください: -

public void startReadingGPS(int readAfterMinimumTime, int readAfterMinimumDistance ){
        locationManager = (LocationManager)mContext.getSystemService(Context.LOCATION_SERVICE);
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, readAfterMinimumTime, readAfterMinimumDistance, this);
    }

public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener) API レベル 1 で追加 名前付きプロバイダーと保留中のインテントを使用して位置情報の更新を登録します。

このメソッドの使用方法の詳細については、requestLocationUpdates(long, float, Criteria, PendingIntent) を参照してください。

パラメータ provider 登録するプロバイダの名前 minTime 位置更新間の最小時間間隔 (ミリ秒単位) minDistance 位置更新間の最小距離 (メートル単位) listener 位置更新ごとに onLocationChanged(Location) メソッドが呼び出される LocationListener

于 2013-07-17T10:47:14.833 に答える
0

アクティビティに locationlistener を実装する必要があります

    private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters

        // The minimum time between updates in milliseconds


        private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute


            boolean isGPSEnabled = false; 

                LocationManager locationManager = (LocationManager) yourapplicationcontext
                                        .getSystemService(LOCATION_SERVICE);

                                // getting GPS status
                                isGPSEnabled = locationManager
                                        .isProviderEnabled(LocationManager.GPS_PROVIDER);
           if (isGPSEnabled) {
                            if (location == null) {
                                locationManager.requestLocationUpdates(
                                        LocationManager.GPS_PROVIDER,
                                        MIN_TIME_BW_UPDATES,
                                        MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                                Log.d("GPS Enabled", "GPS Enabled");
                                if (locationManager != null) {
                                    location = locationManager
                                            .getLastKnownLocation(LocationManager.GPS_PROVIDER);
                                    if (location != null) {
                                        latitude = location.getLatitude();
                                        longitude = location.getLongitude();
                                    }
                                }
                            }
                        }
//Add this permission
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
    <uses-permission android:name="android.permission.INTERNET" />
于 2013-07-17T10:11:59.200 に答える