在Android中使用谷歌地图上的当前位置更新当前位置标记,可以通过以下步骤实现:
implementation 'com.google.android.gms:play-services-maps:17.0.0'
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
private MapView mapView;
private GoogleMap googleMap;
private Marker currentLocationMarker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mapView = findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
mapView.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap map) {
googleMap = map;
googleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() {
@Override
public void onMyLocationChange(Location location) {
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
if (currentLocationMarker != null) {
currentLocationMarker.remove();
}
currentLocationMarker = googleMap.addMarker(new MarkerOptions().position(latLng).title("Current Location"));
}
});
}
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
}
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@Override
public void onResume() {
super.onResume();
mapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
通过以上步骤,你可以在Android应用中使用谷歌地图来更新当前位置标记。当地图加载完成后,会自动获取当前位置,并在地图上添加一个标记表示当前位置。每当位置发生变化时,会更新标记的位置。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云