Android 如何跟踪用户坐标并在谷歌地图中显示
祝大家快乐 我需要的是这个 我有一个片段里面有谷歌地图。在这个屏幕上,我想实时显示用户的当前位置。没有按钮和用户操作 如果用户更改其位置,地图将自动跟踪并显示新位置 基本上我想做的就是这段代码所做的Android 如何跟踪用户坐标并在谷歌地图中显示,android,google-maps,Android,Google Maps,祝大家快乐 我需要的是这个 我有一个片段里面有谷歌地图。在这个屏幕上,我想实时显示用户的当前位置。没有按钮和用户操作 如果用户更改其位置,地图将自动跟踪并显示新位置 基本上我想做的就是这段代码所做的 mGoogleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() { @Override public void onMyLocationChange(Locatio
mGoogleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(location.getLatitude(), location.getLongitude())).zoom(15).build();
mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
});
应该自动调用此代码
这是我的总代码
fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.gms.maps.MapView
android:id="@+id/fragment_run_mapview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
我在等待您的帮助。试试这个,我希望您已经完成了gpsTracker类的学习
if(mGPS.canGetLocation ){
mGPS.getLocation();
//LatLng LOCATION_MYPOSITION = new LatLng(mGPS.getLatitude(),mGPS.getLongitude());
text.setText("Lat"+mGPS.getLatitude()+"Lon"+mGPS.getLongitude());
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(new LatLng(mGPS.getLatitude(), mGPS.getLongitude()), 17);
map.animateCamera(update);
map.addMarker(new MarkerOptions().position(new LatLng(mGPS.getLatitude(),mGPS.getLongitude())).title("Your Current Position"));
}else{
text.setText("Unabletofind");
System.out.println("Unable");
}
删除旧标记并添加新标记。这有什么问题?如何获取新的标记坐标?按照本教程,您将在此处获得所需的内容,首先我在文本视图中设置用户的当前位置,然后我在当前位置上设置标记。好的,但如何自动执行此操作?喜欢改变位置吗?试试这个float zoomLevel=16.0//这将达到21 mm ap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng,zoomLevel));
if(mGPS.canGetLocation ){
mGPS.getLocation();
//LatLng LOCATION_MYPOSITION = new LatLng(mGPS.getLatitude(),mGPS.getLongitude());
text.setText("Lat"+mGPS.getLatitude()+"Lon"+mGPS.getLongitude());
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
CameraUpdate update = CameraUpdateFactory.newLatLngZoom(new LatLng(mGPS.getLatitude(), mGPS.getLongitude()), 17);
map.animateCamera(update);
map.addMarker(new MarkerOptions().position(new LatLng(mGPS.getLatitude(),mGPS.getLongitude())).title("Your Current Position"));
}else{
text.setText("Unabletofind");
System.out.println("Unable");
}