OsmDroid 显示当前 LocationIcon 不工作

Posted

技术标签:

【中文标题】OsmDroid 显示当前 LocationIcon 不工作【英文标题】:OsmDroid show current LocationIcon not working 【发布时间】:2015-07-03 15:18:04 【问题描述】:

我在我的 android 应用程序中使用 OSMDroid。一切正常,除了我无法显示图标来显示我当前的位置。 遵循我的代码:

openMapView = (org.osmdroid.views.MapView) v.findViewById(R.id.openmapview);
openMapView.setClickable(true);

openMapView.setMultiTouchControls(true);
final float scale = getResources().getDisplayMetrics().density;
final int newScale = (int) (256 * scale);
String[] OSMSource = new String[2];
OSMSource[0] = "http://a.tile.openstreetmap.org/";
OSMSource[1] = "http://b.tile.openstreetmap.org/";
XYTileSource MapSource = new XYTileSource(
    "OSM",
    null,
    1,
    18,
    newScale,
    ".png",
    OSMSource
);
openMapView.setTileSource(MapSource);
mapController = (MapController) openMapView.getController();
mapController.setZoom(14);

// My Location Overlay
myLocationoverlay = new MyLocationOverlay(getActivity(), openMapView);
myLocationoverlay.enableMyLocation(); // not on by default
myLocationoverlay.enableCompass();
myLocationoverlay.disableFollowLocation();
myLocationoverlay.setDrawAccuracyEnabled(true);

myLocationoverlay.runOnFirstFix(new Runnable() 
    public void run() 
        mapController.animateTo(myLocationoverlay.getMyLocation());
    
);

谁能告诉我我要去哪里以及我应该在我的代码中更改什么。

【问题讨论】:

【参考方案1】:

要启用 MyLocationOverlay,您需要调用:

myLocationoverlay.enableMyLocation();
mMapView.getOverlays().add(mMyLocationNewOverlay);

另外从你的代码中删除这一行:

myLocationoverlay.disableFollowLocation();

【讨论】:

很好的回应 - 你拯救了我的一天。非常感谢。

以上是关于OsmDroid 显示当前 LocationIcon 不工作的主要内容,如果未能解决你的问题,请参考以下文章

OSMDROID:使用 osmdroid 地图实时获取当前坐标

osmdroid 地图图块显示空白

osmdroid 显示一个空网格

osmdroid - 显示更大的图块

Osmdroid 地图图块不显示

在 OSMDroid 中显示来自 Geoserver 的地图