在Android中的Google Map中显示两个Lat Lng之间的导航,可以通过以下步骤实现:
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
private MapView mapView;
private GoogleMap googleMap;
@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;
// 在地图准备好后,执行导航操作
navigateBetweenLatLng();
}
@Override
protected void onResume() {
super.onResume();
mapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onLowMemory();
}
navigateBetweenLatLng()
中,使用Polyline
绘制两个经纬度之间的导航路径。例如:private void navigateBetweenLatLng() {
LatLng origin = new LatLng(37.7749, -122.4194); // 起点经纬度
LatLng destination = new LatLng(34.0522, -118.2437); // 终点经纬度
// 添加起点和终点标记
googleMap.addMarker(new MarkerOptions().position(origin).title("起点"));
googleMap.addMarker(new MarkerOptions().position(destination).title("终点"));
// 绘制导航路径
PolylineOptions polylineOptions = new PolylineOptions()
.add(origin)
.add(destination)
.color(Color.BLUE)
.width(5);
googleMap.addPolyline(polylineOptions);
// 调整地图视图,使起点和终点都可见
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(origin);
builder.include(destination);
LatLngBounds bounds = builder.build();
googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 100));
}
以上代码中的经纬度仅作示例,请根据实际需求替换为你需要导航的起点和终点经纬度。
需要注意的是,为了在Android应用中使用Google Maps API,你需要在Google Cloud Console中创建一个项目,并启用Maps SDK for Android。在项目中生成API密钥,并将其添加到AndroidManifest.xml文件中。
推荐的腾讯云相关产品:腾讯位置服务(https://cloud.tencent.com/product/lbs)
领取专属 10元无门槛券
手把手带您无忧上云