map.setmylocationenabled(true)不起作用

我在Android应用程序中使用Google地图。 我需要将地图重新​​映射到客户端的当前位置。 我用了下面的语句 –

map.setmylocationenabled(true); 

这显示在右上angular的button,但点击不起作用。

button点击监听器:

 mMap.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() { @Override public boolean onMyLocationButtonClick() { mMap.addMarker(new MarkerOptions().position(myLatLng).title("My Location")); mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(myLatLng, zoomLevel)); return false; } }); 

Solutions Collecting From Web of "map.setmylocationenabled(true)不起作用"

只需从我的其他答案代码在这里 ,并修改您的button点击侦听器请求另一个位置:

  mMap.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() { @Override public boolean onMyLocationButtonClick() { if (mGoogleApiClient != null) { LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this); } return false; } }); 

onLocationChanged()中的代码将会使摄像机位置重新居中,然后再次取消注册位置更新:

 @Override public void onLocationChanged(Location location) { mLastLocation = location; if (mCurrLocationMarker != null) { mCurrLocationMarker.remove(); } //Place current location marker LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(latLng); markerOptions.title("Current Position"); markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA)); mCurrLocationMarker = mGoogleMap.addMarker(markerOptions); //move map camera mGoogleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); mGoogleMap.animateCamera(CameraUpdateFactory.zoomTo(11)); if (mGoogleApiClient != null) { LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this); } } 

最后一行是我的解决scheme:

 myMap.setMyLocationEnabled(true); myMap.getUiSettings().setMyLocationButtonEnabled(true); 

在使用setmylocationenabled(true)之后,您是否试图获得您的经度和纬度?

 gMap.setMyLocationEnabled(true); LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); gMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

您现在可以使用您的经纬度,并将摄像机animation到您获得的纬度/经度位置。希望它有帮助。