CompassOverlay的设备特定错误?

时间:2016-04-27 19:28:33

标签: android overlay samsung-mobile osmdroid

我目前正在使用三星Galaxy Tab E上的OSMdroid 5.1开发应用程序。 我的问题是我无法让指南针显示出来。我在互联网和OSMdroid源代码中搜索了几个小时,但我无法弄明白。 我决定在我的个人手机(三星Galaxy S4)上进行测试,结果显示它在这台设备上运行完美。

平板电脑在Android 5.1.1上运行

手机在Android 5.0.1上运行

我正在使用Android Studio 2.1

以下是引用CompassOverlay的所有代码。

@Override
public void onResume() {
    super.onResume();

    compassOverlay.enableCompass();
    myLocationOverlay.enableMyLocation();
    //mMyLocationOverlay.enableFollowLocation();
}

@Override
public void onPause() {
    super.onPause();

    compassOverlay.disableCompass();
    this.myLocationOverlay.disableMyLocation();
    //this.myLocationOverlay.disableFollowLocation();
}

private void mapEndConfig() {
    this.osmv.setBuiltInZoomControls(true);
    this.osmv.setMultiTouchControls(true);

    osmv.getController().setZoom(11);
    double lon = -64.5996; //-74.15702819824206; //,45.6294
    double lat = 45.6294; //40.64938745451832;

    IGeoPoint point = new GeoPoint(lat, lon); // lat lon and not inverse
    osmv.getController().setCenter(point);

    myLocationOverlay = new MyLocationNewOverlay(this, osmv);
    compassOverlay = new CompassOverlay(this, new InternalCompassOrientationProvider(this), this.osmv, mResourceProxy);
    osmv.getOverlayManager().add(myLocationOverlay);
    osmv.getOverlayManager().add(compassOverlay);

    /*anotherOverlayItemArray = new ArrayList<OverlayItem>();
    anotherOverlayItemArray.add(new CompassOverlay());

    ItemizedIconOverlay<OverlayItem> anotherItemizedIconOverlay
            = new ItemizedIconOverlay<OverlayItem>(
            this, anotherOverlayItemArray, null);
    this.mOsmv.getOverlays().add(anotherItemizedIconOverlay);*/



    /*myLocationOverlay.runOnFirstFix(new Runnable() {
        public void run() {
            osmv.getController().animateTo(myLocationOverlay.getMyLocation());
        }
    });*/
}

以前似乎没有人用指南针遇到类似的东西,有人有解决方案吗?

1 个答案:

答案 0 :(得分:0)

好的,我发现了问题。这是因为三星Galaxy Tab E没有指南针的磁力计。

当OSMdroid没有检测到它时,它不会显示错误或警告,而是显示错误或警告。