如何在osm地图上标记我当前的位置?

时间:2014-01-04 12:46:18

标签: android openstreetmap osmdroid

我想做一件简单的事情。我想标记一下我目前的位置。 目前我有osm地图,用我当前的位置显示屏幕,除此之外,我可以看到我当前的位置(经度和纬度),但我不知道如何标记当前位置。

3 个答案:

答案 0 :(得分:1)

我没有使用过大量的OSMDroid,但您可以使用ItemizedIconOverlay标记您的位置。这个sample应该会向您展示如何创建叠加层,然后不是创建包含城市的叠加层列表,而是应该只有一个项目,这是您当前的位置。

答案 1 :(得分:1)

有点不清楚你在问什么,但你可能正在寻找MyLocationNewOverlay。这将监控GPS并在您的位置绘制一个图标。 OpenStreetMapViewer示例涵盖了这一点。图标将随着您的位置移动而移动,因此如果您想要放置一个永久性标记,那么您希望使用ItemizedIconOverlay

答案 2 :(得分:0)

这似乎是获得点数显示的最小代码量。你需要一个" blue_pin"可绘制的图像和带有" mapview"的布局成分

public static final GeoPoint berlinGeoPoint = new GeoPoint(52.516667, 13.383333);
OverlayItem overlayItem = new OverlayItem("Berlin", "City", berlinGeoPoint);
Drawable markerDrawable= this.getResources().getDrawable(R.drawable.blue_pin);
overlayItem.setMarker(markerDrawable);

ArrayList<OverlayItem> overlayItemArrayList = new ArrayList<OverlayItem>();
overlayItemArrayList.add(overlayItem);
ItemizedOverlay<OverlayItem> locationOverlay = new ItemizedIconOverlay<OverlayItem>(this, overlayItemArrayList, null);

MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.getOverlays().add(this.locationOverlay);