Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OSMDroid-在Android API 28上缩小时移动默认标记_Android_Osmdroid - Fatal编程技术网

OSMDroid-在Android API 28上缩小时移动默认标记

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

我最近开始使用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.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项目中,包括多边形的代码部分?(我假设多边形角点完全在同一位置?)当然,如果您认为在我编辑后这仍然是一个重要问题,请告诉我。我用自定义图标检查了这个问题,似乎它只出现在默认图标上。多边形角点与标记的位置完全相同。