1
私はアンドロイドアプリでGoogleマップを使用しています。すべては問題ありませんが、GPSサービスが有効になっていないときは、有効にするsnackbarメッセージを表示します。私はGPSを有効にして、私の場所のボタンを押したときにのみ私の場所に自動的に戻る私の断片マップderのdosen'tに戻ります。GoogleマップonResume
更新メソッドでスレッドを使用して問題を解決しようとしましたが、何もしませんでした。かわった。ときどき動作しますが、時には十分ではありません。
私のonCreate:
public void init(){
gps = new GPSTracker();
gps.init(mActivity,mActivity);
if (!gps.canGetLocation()) {
gps.showSettingsAlert(mActivity,rootView);
}else {
initMap();
}
私initMap
private void initMap(){
try {
MapsInitializer.initialize(mActivity.getApplicationContext());
} catch (Exception e) {
e.printStackTrace();
}
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap mMap) {
googleMap = mMap;
if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
googleMap.setMyLocationEnabled(true);
}
moveSearchCircle(new LatLng(gps.getLatitude(), gps.getLongitude()));
updateMapPosition();
googleMap.setIndoorEnabled(true);
addMarker();
}
});
}
updateMapPosition
private void updateMapPosition(){
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(gps.getLatitude(), gps.getLongitude()), 15));
}
onResume
@Override
public void onResume() {
super.onResume();
init();
}
私はチュートリアルに続き、これまでどおりすべてが正常に動作します – Fesco
正しい答えを忘れないでください –