首页 > 解决方案 > 在 osmdroid 中设置多个标记

问题描述

大家好,我在我的应用程序中使用 osmdroid。我有一个纬度和经度集列表,并希望在地图上显示它们,每个都应该是可点击的,这意味着当我点击其中一个时,它会打开新的特定活动。那么我想怎么做呢?我想做这样的事情:

遗憾的是,我找不到太多关于使用 osmdroid 的信息,因此我们将不胜感激。

这就是我使用 osmdroid 地图的方式

    mapView.setTileSource(TileSourceFactory.MAPNIK);
    IMapController mapController = mapView.getController();
    mapController.setZoom(9.5);
    GeoPoint startPoint = new GeoPoint(34.796830, 48.514820);
    mapController.setCenter(startPoint);
    mapView.setBuiltInZoomControls(true);
    mapView.setMultiTouchControls(true);

这是与地理点的叠加:

List<OverlayItem> mItem = new ArrayList<OverlayItem>();
    Drawable mMarker = this.getResources().getDrawable(R.drawable.marker_default);
 GeoPoint point;
        if (nearestDiscountsList.size()>0) {
            for (int i = 0; i < nearestDiscountsList.size(); i++) {
                point = new 
GeoPoint(Double.parseDouble(nearestDiscountsList.get(i).getLatitude()), 
Double.parseDouble(nearestDiscountsList.get(i).getLongitude()));
                OverlayItem overlayItem = new OverlayItem("Here", 
"sampleDescription", point);
                overlayItem.setMarker(mMarker);
                mItem.add(overlayItem);
            }
        }

但我不知道在哪里添加这些):

甚至任何关于此的示例代码都可以完成这项工作。

标签: androidandroid-mapviewosmdroid

解决方案


推荐阅读