1

私の問題は、LocationManagerクラスとLocationListenerを使用してGPS座標を取得できないことです。たぶん、私のコードを見せれば、あなたは理解するでしょう。これは私が呼び出すコードですOnCreate()

 locMgr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    currentLocListener = new MyLocationListener();
    locMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, currentLocListener);
    locMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, currentLocListener);

そして、私はクラスMyLocationListenerを実装するクラスを持っていますLocationListener

public class MyLocationListener implements LocationListener {

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
        String coordinates[] = {""+location.getLatitude(),""+location.getLongitude()};
        double lat = Double.parseDouble(coordinates[0]);
        double lng = Double.parseDouble(coordinates[1]);
        GeoPoint p = new GeoPoint((int)(lat*1E6), (int)(lng*1E6));
        mc.animateTo(p);
        mc.setZoom(19);

        MyMapOverlays marker = new MyMapOverlays(p);
        List<Overlay> listofOverLays = mapview.getOverlays();
        listofOverLays.clear();
        listofOverLays.add(marker);
        mapview.invalidate();
    }

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "GPS is disabled", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "GPS is Enabled", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub
    }
}

DDMSのEmulatorControlで場所をモックすることで場所を取得できます。だから私は実際の電話でテストしようとしています。携帯電話にインストールすると、GPSとwifiをオンにしても現在地を自動的に取得できません。

私は別のグーグルマップアプリを市場から私の実際の電話に実行しようとしました、それはうまくいきました。コードの何が問題なのかわかりません...誰か助けてもらえますか?

4

0 に答える 0