1

创建地图视图时,如何让指南针显示在屏幕上。这段代码有什么问题?有什么建议么?

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.map);



        mapView = (MapView) findViewById(R.id.mapview);
        mapView.setBuiltInZoomControls(true);

        mc = mapView.getController();
        myLoc = new MyLocationOverlay(this, mapView);
        myLoc.enableCompass();
        mapView.getOverlays().add(myLoc);


        mapView.postInvalidate();

        locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
4

1 回答 1

3

好吧,我不会打电话enableCompass()onCreate()这是我假设这段代码的来源,给定setContentView()电话)。在 中启用指南针并在 中onResume()禁用它onPause(),因此当您的活动不在屏幕上时,您不会让传感器保持活动状态。你不应该需要postInvalidate().

否则,这似乎很好。请记住,它仅适用于实际硬件。

这是一个示例项目,它启用了MyLocationOverlay绝对有效的指南针,但您需要替换为您自己的android:apiKey值。

于 2011-04-21T23:59:08.493 回答