在使用osmdroid进行android开发时,批量添加自定义标记和自定义弹窗,可以使用如下步骤:

  1. 创建自定义标记类
public class MyMarker extends Marker {
    private String title;
    private String snippet;

    public MyMarker(MapView mapView, String title, String snippet, GeoPoint geoPoint) {
        super(mapView);
        this.title = title;
        this.snippet = snippet;
        setPosition(geoPoint);
        setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
    }

    @Override
    public boolean onMarkerClick(Marker marker, MapView mapView) {
        // 点击标记时弹出自定义弹窗
        MyInfoWindow myInfoWindow = new MyInfoWindow(R.layout.my_info_window, mapView, title, snippet);
        mapView.setInfoWindow(myInfoWindow);
        return super.onMarkerClick(marker, mapView);
    }
}
  1. 创建自定义弹窗类
public class MyInfoWindow extends InfoWindow {
    private String title;
    private String snippet;

    public MyInfoWindow(int layoutResId, MapView mapView, String title, String snippet) {
        super(layoutResId, mapView);
        this.title = title;
        this.snippet = snippet;
    }

    @Override
    public void onOpen(Object item) {
        TextView titleView = mView.findViewById(R.id.title);
        titleView.setText(title);
        TextView snippetView = mView.findViewById(R.id.snippet);
        snippetView.setText(snippet);
    }

    @Override
    public void onClose() {

    }
}
  1. 批量添加自定义标记
List<MyMarker> markers = new ArrayList<>();
for (int i = 0; i < 10; i++) {
    MyMarker marker = new MyMarker(mapView, "Title " + i, "Snippet " + i, new GeoPoint(39.91667 + Math.random() * 0.1, 116.38333 + Math.random() * 0.1));
    marker.setIcon(getResources().getDrawable(R.drawable.ic_marker));
    markers.add(marker);
}
mapView.getOverlays().addAll(markers);
  1. 设置弹窗显示时间
mapView.setInfoWindow(new MyInfoWindow(R.layout.my_info_window, mapView, title, snippet));
mapView.getInfoWindow().setDuration(5000);

以上就是使用osmdroid进行android开发时,批量添加自定义标记和自定义弹窗的步骤

android 使用osmdroid批量添加自定义标记和自定义弹窗

原文地址: https://www.cveoy.top/t/topic/hseF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录