我希望谷歌地图显示以地图为中心的用户位置,如图1所示 这是我的片段代码:
public class MapFragment extends Fragment implements OnMapReadyCallback {
GoogleMap googleMap;
MapView mapView;
View myview;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myview = inflater.inflate(R.layout.map_layout, container, false);
mapView = (MapView) myview.findViewById(R.id.map);
mapView.onCreate(savedInstanceState);
mapView.onResume();
mapView.getMapAsync(this);
return myview;
}
@Override
public void onMapReady(GoogleMap map) {
googleMap = map;
List<EscolasMaps> escolasMapsList = new ArrayList<EscolasMaps>();
//buscarEscolas();
if (ActivityCompat.checkSelfPermission(this.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this.getActivity()
, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
googleMap.setMyLocationEnabled(true);
googleMap.getUiSettings().setMyLocationButtonEnabled(true);
}
}
答案 0 :(得分:1)
尝试Google的代码示例。
GitHub上的ApiDemos repository包含演示在地图上使用位置的示例:
您可以使用“我的位置”图层和“我的位置”按钮为您的用户提供他们在地图上的当前位置。
注意:在启用“我的位置”图层之前,您必须确保拥有所需的runtime location permission。
在地图上启用“我的位置”图层,如下所示:
mMap.setMyLocationEnabled(true);
启用“我的位置”图层后,“我的位置”按钮将显示在地图的右上角。当用户单击该按钮时,如果已知,则摄像机将地图居中于设备的当前位置。如果设备静止,则在地图上用小蓝点表示位置,如果设备正在移动,则在地图上显示为雪佛龙。
您可以随时检查代码并将其与示例代码进行比较,以验证或检查您的实施是否正确。
希望这有帮助!