覆盖层(Overlay)是Android Map中一个重要的类,主要由程序员通过继承Overlay,来实现一些在谷歌底图上添加自定义图层的效果。
本篇主要讨论如何建立标记点层(Marker)。
一、首先继承Overlay类
class Marker extends Overlay
二、创建构造函数,从构造函数中得到经纬度坐标和显示图标的信息
public Marker(Geopoint gp,int index){
this.gp = gp;
this.index = index;
}
三、重写Overlay类中draw方法
1、地理坐标和屏幕坐标之间的转换
mapView.getProjection().toPixels(GeoPoint,Point);
2、获取位图资源
BitmapFactory.decodeResource(getResources(),R.drawable.Bitmap);
3、paint(画笔)颜色和样式
Paint paint = new Paint();
4、利用canvas(画布)绘制位图
canvas.drawBitmap(bmp,devPoint.x,devPoint.y,paint);
canvas.drawText(String,devPoint.x,devPoint,y,paint);
四、在主Activity中调用Marker类
Marker marker = new Marker(center,1);
List<Overlay> list = mv.getOverlays();
list.add(marker);
代码如下:
运行效果:
覆盖层——点
最新推荐文章于 2024-08-20 15:47:14 发布