android调用百度地图,怎么添加备注

2024-10-31 07:32:55
推荐回答(1个)
回答(1):

  添加标记
定义自己的覆盖层
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的图像,添加自己的标记,可能需要根据图片大小自己精确调整标记位置。下面显示图像