Android Osmdroid 批量添加自定义标记和弹窗:实现不同样式
Android Osmdroid 批量添加自定义标记和弹窗:实现不同样式
本文将详细介绍如何在Android中使用Osmdroid库批量添加自定义标记和弹窗,并实现不同标记和弹窗的样式。
1. 引入Osmdroid库
在项目的build.gradle文件中添加以下依赖库:
dependencies {
implementation 'org.osmdroid:osmdroid-android:6.1.11'
implementation 'org.osmdroid:osmdroid-mapsforge:6.1.11'
}
2. 创建自定义标记和弹窗样式
-
在
res/drawable文件夹中创建不同的标记图片,如marker1.png、marker2.png等。 -
在
res/layout文件夹中创建不同的弹窗布局文件,如popup1.xml、popup2.xml等。
3. 添加标记和弹窗
在Activity或Fragment中,可以通过以下代码添加标记和弹窗:
// 创建标记
Drawable marker = getResources().getDrawable(R.drawable.marker1);
GeoPoint point = new GeoPoint(latitude, longitude);
OverlayItem overlayItem = new OverlayItem('Title', 'Description', point);
overlayItem.setMarker(marker);
// 创建弹窗
View popup = getLayoutInflater().inflate(R.layout.popup1, null);
MarkerInfoWindow infoWindow = new MarkerInfoWindow(R.layout.popup1, mapView);
overlayItem.setInfoWindow(infoWindow);
// 添加标记和弹窗到图层
List<Overlay> overlays = mapView.getOverlays();
ItemizedIconOverlay<OverlayItem> markerOverlay = new ItemizedIconOverlay<OverlayItem>(overlayItems, null, null);
overlays.add(markerOverlay);
可以根据需要创建不同的标记和弹窗样式,并将它们添加到不同的图层中。
原文地址: https://www.cveoy.top/t/topic/oUwU 著作权归作者所有。请勿转载和采集!