添加标记
定义自己的覆盖层
public class GoogleMapOverlay extends Overlay {
private GeoPoint gp;
GoogleMapOverlay(GeoPoint gp){
super();
this.gp = gp;
}
GoogleMapOverlay(int latitudeE6, int longitudeE6){
super();
gp = new GeoPoint(latitudeE6, longitudeE6);
}
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
super.draw(canvas, mapView, shadow, when);
Point p = new Point();
gMap.getProjection().toPixels(gp, p);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.mark);
canvas.drawBitmap(bmp, p.x, p.y, null);
return true;
}
}
继承Overlay重写draw方法,其中的gMap.getProjection()表示得到地图经纬度坐标和手机像素坐标之间的转换对象,toPixels函数表示将经纬度坐标转换为手机像素坐标。在canvas上绘制R.drawable.mark的图像,添加自己的标记,可能需要根据图片大小自己精确调整标记位置。下面显示图像