【问题标题】:Enable Compass OSMDROID启用指南针 OSMDROID
【发布时间】:2011-12-27 00:06:34
【问题描述】:

如何在 Open Street Map 中启用指南针模式?

有没有方法或者我需要自己创建定向系统?

【问题讨论】:

    标签: android maps osmdroid compass-geolocation


    【解决方案1】:

    这就是我启用指南针的方式:

    MapView oMap;
    IMapController mapController;
    .......
    
    mapController = oMap.getController();
    mapController.setZoom(zoom);
    mapController.setCenter(new GeoPoint(latitude, longitude));
    MyLocationNewOverlay oMapLocationOverlay = new 
    MyLocationNewOverlay(getApplicationContext(),oMap);
    oMap.getOverlays().add(oMapLocationOverlay);
    oMapLocationOverlay.enableFollowLocation();
    oMapLocationOverlay.enableMyLocation();   
    
    CompassOverlay compassOverlay = new CompassOverlay(this, oMap);
    compassOverlay.enableCompass();
    oMap.getOverlays().add(compassOverlay);
    

    【讨论】:

      【解决方案2】:

      要在地图上显示指南针,请在MyLocationOverlay 中使用enableCompass()

      来自MyLocationOverlay.java

      启用方向传感器(指南针)更新并在屏幕上显示指南针 地图。您可能想从您的 Activity 的 Activity.onResume() 方法,启用此功能 覆盖。请记住在您的 Activity 的 Activity.onPause() 方法在 背景。

      如果您也想旋转地图,osmdroid 的一个分支实现了该功能:http://code.google.com/p/osmdroid/source/browse/branches/rotation/OpenStreetMapViewer/src/org/osmdroid/MapActivity.java?r=914

      【讨论】:

      • 是的,这很有用,但我也需要旋转地图
      • 那么你应该更新你的问题,或者问一个新的问题。据我所知,osmdroid 不支持此功能。
      • 在中继中,MyLocationOverlay 表示它已被 MyLocationNewOverlay 弃用,但 MyLocationNewOverlay 没有 enableCompass() 函数。有没有新的方法来绘制指南针?
      • 老问题和答案,但 osmdroid 确实会做地图旋转
      【解决方案3】:

      由于问题不清楚,我会给你我“认为”你所要求的东西,它是屏幕上的指南针。

      CompassOverlay mCompassOverlay = new CompassOverlay(getContext(),
                  new InternalCompassOrientationProvider(getContext()),
                  mMapView);
      mCompassOverlay.enableCompass();
      mMapView.getOverlays().add(this.mCompassOverlay);
      

      【讨论】:

        【解决方案4】:

        你只需要传递上下文和地图视图实例

        CompassOverlay compassOverlay = new CompassOverlay(this, map);
        compassOverlay.enableCompass();
        map.getOverlays().add(compassOverlay);
        

        创建指南针叠加层,启用并将其添加到地图叠加层以显示

        【讨论】:

          猜你喜欢
          • 2019-04-30
          • 2014-09-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-20
          • 2013-09-10
          相关资源
          最近更新 更多