覆盖层——点

覆盖层(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);

代码如下:

运行效果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值