我在myLocationOverylay中绘制的画布是什么

时间:2011-05-17 07:54:09

标签: android google-maps

我在谷歌地图API中使用MyLocationOverlay,我不明白我应该传递给drawMyLocation的画布。以下是我的一些代码:

import android.content.Context;
import android.graphics.Canvas;

import com.google.android.maps.MapView;
import com.google.android.maps.MyLocationOverlay;

public class MyLocationDot extends MyLocationOverlay {
    private MapView mMapView;

    public MyLocationDot(Context context, MapView mapView) {
        super(context, mapView);
        mMapView = mapView;
    }

    protected void drawMyLocation(Canvas canvas) {
        super.drawMyLocation(canvas, mMapView, getLastFix(), getMyLocation(), 0);
    }


}

在地图活动的onCreate()中:

// my location
        myLocation = new MyLocationDot(this, mapView);
        myLocation.enableMyLocation();
        myLocation.runOnFirstFix(new Runnable() {
            public void run() {
                myLocation.drawMyLocation(WhatCanvas??);
            }
        });

1 个答案:

答案 0 :(得分:2)

除非我错了,否则你没有明确传递Canvas:你将叠加层传递给MapActivity,它会为你处理。

编辑:这样的事情。

 mapView = (MapView) findViewById(R.id.map);
 me = new MyLocationDot(this, mapView);
 mapView.getOverlays().add(me);