百度地图标注覆盖物

在http://blog.csdn.net/lj102800/article/details/13998543基础上添加
	//Overlay是一个基类,它表示可以显示在地图上方的覆盖overlay
	public class MyOverLay extends Overlay{
		//构建地图的一个点
		private GeoPoint geoPoint=new GeoPoint(((int)(39.915*1E6)), ((int)(116.404*1E6)));
		//声明一个画笔的工具
		private Paint paint=new Paint();
		@Override
		public void draw(Canvas canvas, MapView mapView, boolean shadow) {
			super.draw(canvas, mapView, shadow);
			Point point=mapView.getProjection().toPixels(geoPoint, null);
			canvas.drawText("*这里天安门", point.x, point.y, paint);
		}
	}

调用代码

//需要定义一个经纬度:北京天安门
mapView.getOverlays().add(new MyOverLay());

多个建筑物的标注

public class MyOverLayItem extends ItemizedOverlay<OverlayItem>{
		//定义一组坐标,都是一个double类型定义
		private List<OverlayItem> list=new ArrayList<OverlayItem>();
		//
		private double mLat1=39.915;//表示经度
		private double mLon1=116.404;//表示纬度
		
		private double mLat2=39.922;
		private double mLon2=116.422;
		
		private double mLat3=39.923;
		private double mLon3=116.423;
		//用于在地图上标识坐标,用一个图片标注
		public MyOverLayItem(Drawable arg0) {
			super(arg0);
			GeoPoint geoPoint1=new GeoPoint((int)(mLat1*1E6), (int)(mLon1*1E6));
			GeoPoint geoPoint2=new GeoPoint((int)(mLat2*1E6), (int)(mLon2*1E6));
			GeoPoint geoPoint3=new GeoPoint((int)(mLat3*1E6), (int)(mLon3*1E6));
			list.add(new OverlayItem(geoPoint1, "Point1", "Point1"));
			list.add(new OverlayItem(geoPoint2, "Point2", "Point2"));
			list.add(new OverlayItem(geoPoint3, "Point3", "Point3"));
			populate();//刷新地图功能
		}
		//返回指定的list集合中每一个坐标
		@Override
		protected OverlayItem createItem(int arg0) {
			return list.get(arg0);
		}

		@Override
		public int size() {
			return list.size();
		}
		//处理一个点击事件
		@Override
		protected boolean onTap(int arg0) {//getSnippet()对应第三个参数Point1
			Toast.makeText(MainActivity.this, list.get(arg0).getSnippet(),1).show();
			return true;
		}
		
	}
调用代码
Drawable drawable=getResources().getDrawable(R.drawable.iconmarka);
mapView.getOverlays().add(new MyOverLayItem(drawable));



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值