OSMDroid-在Android API 28上缩小时移动默认标记
我最近开始使用OSMDroid,但我很难在Android API 28的特定地理点上获得默认标记。 我按照OSMDroid的Github的教程编写了如下代码:OSMDroid-在Android API 28上缩小时移动默认标记,android,osmdroid,Android,Osmdroid,我最近开始使用OSMDroid,但我很难在Android API 28的特定地理点上获得默认标记。 我按照OSMDroid的Github的教程编写了如下代码: //Making a Mapbox TileSource MapBoxTileSource mbTest = new MapBoxTileSource("mapbox.streets", ACCESS_TOKEN); map = (MapView) findViewById(R.id.map); map.s
//Making a Mapbox TileSource
MapBoxTileSource mbTest = new MapBoxTileSource("mapbox.streets", ACCESS_TOKEN);
map = (MapView) findViewById(R.id.map);
map.setTileSource(mbTest);
//Setting up map
map.setVisibility(View.VISIBLE);
map.setMultiTouchControls(true);
map.getController().setCenter(new GeoPoint(latitude,longitude));
map.getController().setZoom(14d);
//Create a marker where the user is
Marker positionMarker = new Marker(map);
positionMarker.setDefaultIcon();
positionMarker.setPosition(new GeoPoint(latitude, longitude));
map.getOverlays().add(positionMarker);
当我测试我的应用程序时,我得到了以下结果(我使用OSMDroid绘制了一个多边形,它似乎工作得很好):
我在安卓API22设备上测试了同一个应用程序,该标记器工作良好,在缩放时保持在正确的位置
有没有办法修复或改进我的代码,使标记在API 28上工作?我读了一些关于OSMDroid的文档,似乎硬件加速并不总是稳定的。我试着去激活它,它成功了 因此,如果您的标记似乎不在正确的位置,并且在放大或缩小时移动,只需在Android清单中停用此活动的硬件加速:
<activity
android:name=".MapActivity"
android:hardwareAccelerated="false"/>
编辑:我对OSMDroid做了进一步的研究,当我使用自定义图标作为标记时,不会出现这个问题,所以这对你的应用程序来说应该不是一个大问题。mapView.setLayerType(View.LAYER\u TYPE\u SOFTWARE,null)
我可以解决它
这不是我的解决方案,我真的很惊讶。能否将其作为一个问题发布到osmdroid GitHub项目中,包括多边形的代码部分?(我假设多边形角点完全在同一位置?)当然,如果您认为在我编辑后这仍然是一个重要问题,请告诉我。我用自定义图标检查了这个问题,似乎它只出现在默认图标上。多边形角点与标记的位置完全相同。