0

そのため、私は自分のハンドヘルドデバイスを使用して数週間このアプリを開発しており、今日はアプリの現在のユーザーの場所を中心にGoogleマップを取得しようとしていました

map.setMyLocationEnabled(true); //Locate the current position of the user

上記の setLocationEnabled(true) は通常、地図上にユーザーの位置を表示し、GPS ボタンを押すとズームインします。ただし、次のコードを追加した後、これは機能しなくなり、ユーザーの場所が表示されなくなり、デバイスに「Google設定」がインストールされていることに気付きました。コードそのものになります。しかし、Google の設定が原因かどうかはわかりません。

LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = service.getBestProvider(criteria, false);
    Location location = service.getLastKnownLocation(provider);
    LatLng userLocation = new LatLng(location.getLatitude(),location.getLongitude());
    map.moveCamera(CameraUpdateFactory.newLatLngZoom(userLocation, 15));

このコード ブロックをコメント アウトした後でも、問題は解決しません。これを修正する方法がわかりません。誰かが私を助けてくれることを願っています。これがコード自体に関係しているのか、それとも私のデバイスに関係しているのかはわかりません。過去数週間動作していたにもかかわらず、文字通りユーザーの場所をまったく取得せず、エラーや警告は表示されませんマップの GPS ボタンを押しても、エラーや警告は表示されません。

編集:このアプリのコードの古い作業バージョンを使用してみましたが、ユーザーの場所をマップに表示するという点ではまだ機能しません。

ありがとう。

4

1 に答える 1

0

使用しない理由:

map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(map.getMyLocation().getLatitude(),map.getMyLocation().getLongitude()), 15));

LocationManager地図には実際の場所が保存されているので、クラスは必要ありません。

于 2013-02-27T13:18:24.380 に答える