为啥我在 Google 地图上的当前位置在 Android 应用中不正确? [复制]
Posted
技术标签:
【中文标题】为啥我在 Google 地图上的当前位置在 Android 应用中不正确? [复制]【英文标题】:Why my current location on Google Maps is incorrect in Android app? [duplicate]为什么我在 Google 地图上的当前位置在 Android 应用中不正确? [复制] 【发布时间】:2020-08-15 01:26:46 【问题描述】:我想制作一个 android 应用程序来确定我在地图上的位置。我从那里使用了 Google Maps SDK 文档和代码。
问题是我总是将 Google 总部作为我当前的位置,而不是我的真实位置。
有什么问题吗?下面是我的代码。
private GoogleMap mMap;
private CameraPosition mCameraPosition;
private Location mLastKnownLocation;
private FusedLocationProviderClient mFusedLocationProviderClient;
private static final int DEFAULT_ZOOM = 15;
private static final int PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION = 1;
private boolean mLocationPermissionGranted;
private static final String TAG = MapsActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
mFusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
@Override
public void onMapReady(GoogleMap googleMap)
mMap = googleMap;
getDeviceLocation();
private void getDeviceLocation()
try
if (mLocationPermissionGranted)
Task<Location> locationResult = mFusedLocationProviderClient.getLastLocation();
locationResult.addOnCompleteListener(this, new OnCompleteListener<Location>()
@Override
public void onComplete(@NonNull Task<Location> task)
if (task.isSuccessful())
mLastKnownLocation = task.getResult();
if (mLastKnownLocation != null)
LatLng mLocation = new LatLng(mLastKnownLocation.getLatitude(),
mLastKnownLocation.getLongitude());
mMap.addMarker(new MarkerOptions().position(mLocation).title("You are here"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(mLocation));
else
Log.d(TAG, "Current location is null. Using defaults.");
Log.e(TAG, "Exception: %s", task.getException());
mMap.moveCamera(CameraUpdateFactory
.newLatLngZoom(mDefaultLocation, DEFAULT_ZOOM));
mMap.getUiSettings().setMyLocationButtonEnabled(false);
);
catch (SecurityException e)
Log.e("Exception: %s", e.getMessage());
【问题讨论】:
查看我对这个问题的回答:***.com/questions/60483232/… 这能回答你的问题吗? Current location is not showing in my android app 【参考方案1】:您可能正在使用模拟器。这主要是问题
【讨论】:
***.com/questions/60483232/… 标记为重复以上是关于为啥我在 Google 地图上的当前位置在 Android 应用中不正确? [复制]的主要内容,如果未能解决你的问题,请参考以下文章