gpt4 book ai didi

android - 谷歌地图 onResume

转载 作者:行者123 更新时间:2023-11-30 00:55:05 27 4
gpt4 key购买 nike

我在我的 Android 应用程序中使用谷歌地图。一切都很好,但是当我没有启用 GPS 服务时,我会显示一条消息来启用。当我启用 GPS 并在我的 Fragment der map 中返回时,仅当我按下位置​​按钮时才不会自动返回到我的位置。

我试图通过在更新方法中使用线程来解决问题,但没有成功。变了。有时它有效,但有时还不够好。

我的onCreate:

 public  void init(){
gps = new GPSTracker();
gps.init(mActivity,mActivity);
if (!gps.canGetLocation()) {
gps.showSettingsAlert(mActivity,rootView);
}else {
initMap();
}

我的初始化 map

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

更新 map 位置

 private void updateMapPosition(){
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(gps.getLatitude(), gps.getLongitude()), 15));
}

在恢复时

 @Override
public void onResume() {
super.onResume();
init();
}

enter image description here

最佳答案

也许 gps.getLatitude(), gps.getLongitude() 返回零值,并且 map 相机的焦点试图设置到这个地方。通常,获取设备位置操作需要一些时间,您应该异步执行此操作。所以,请检查您的 GPSTracker 类并找到异步方法,或者查看 this tutorial .

关于android - 谷歌地图 onResume,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40323987/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com