如何显示指南针像谷歌纬度?

时间:2012-01-03 11:09:38

标签: android android-mapview compass-geolocation google-latitude

我目前正在制作一个mapview,我想显示用户的位置,如google的Latitude(罗盘方向); 我看到了几个主题,但没有一个能为我的查询提供足够的解决方案。 你有教程或例子吗?

3 个答案:

答案 0 :(得分:1)

使用MyLocationOverlay。示例代码:

public MyMapActivity extends MapActivity {
  private MyLocationOverlay myLocationOverlay;
  private MapView mapView;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.my_map_layout);

    mapView = (MapView)findViewById(R.id.map_view);

    myLocationOverlay = new MyLocationOverlay(this, mapView);
    mapView.getOverlays().add(myLocationOverlay);
  }

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

    myLocationOverlay.enableCompass();
    myLocationOverlay.enableMyLocation();
  }

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

    myLocationOverlay.disableCompass();
    myLocationOverlay.disableMyLocation();
  }

  @Override
  protected boolean isRouteDisplayed() {
    return false;
  }
}

答案 1 :(得分:0)

这个答案可能是通过旋转图标来解决您的问题:https://stackoverflow.com/a/8712727/1127492

您还可以考虑为8(或16)个主方向准备8(或16)个(小!)图标,并根据方位/ 8(分别为/ 16)选择图标。

答案 2 :(得分:0)

以防有人再遇到这个问题。 首先,这需要LocationListenerSensorEventListenerHere you can find more details of how to use it in this scope. 无论如何,Android Google Maps V2 Api部分地解决了这个问题,显示一个箭头指示您的方向,但只有当设备正在移动时,才会显示一个点。