Android(三)百度地图开发(二)地图覆盖物

上一篇文章写道如何在一个mapview中简单的显示地图;本次学习一下如何在地图上添加一些覆盖物。

1.设置显示交通地图:

mapView.setTraffic(true);

2.设置显示为卫星地图:

// 显示交通地图//mapView.setTraffic(true);// 显示卫星地图mapView.setSatellite(true);

当然卫星地图和交通地图也可以同时显示

3.百度地图提API供了一下几种覆盖物

// MyLocationOverlay:负责显示用户当前位置// PoiOverlay:本地搜索图层,提供某一特定区域的位置搜索服务// RouteOverlay:不行、驾车导航线路图层,将步行、驾车出行方案的线路及关键点显示在地图上。// TransitOverlay:公交换乘路线图层,,将某一特定区域的公交出行方案的线路及换乘位置显示在地图上

4.给一个覆盖物添加一些标注

public class MyOverlay extends Overlay {GeoPoint geoPoint = new GeoPoint((int) (39.915 * 1E6),(int) (116.404 * 1E6));Paint paint = new Paint();@Overridepublic void draw(Canvas arg0, MapView arg1, boolean arg2) {.draw(arg0, arg1, arg2);Point point = mapView.getProjection().toPixels(geoPoint, null);arg0.drawText(“*这里是天安门*”, point.x, point.y, paint);}}

然后在MainActivity中将这个点添加进去

mapView.getOverlays().add(new MyOverlay());

5.给多个覆盖物添加标注

@SuppressLint(“NewApi”)public class MyOverlayItem extends ItemizedOverlay<OverlayItem> {private List<OverlayItem> list = new ArrayList<OverlayItem>();mLat1 = 39.90923; mLon1 = 116.397428;mLat2 = 39.9022; mLon2 = 116.3922;mLat3 = 39.917723; mLon3 = 116.37222;// 表示纬度 MyOverlayItem(Drawable arg0) {super(arg0);// TODO Auto-generated constructor stubGeoPoint 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中把这几个点添加进去list.add(new OverlayItem(geoPoint1, “Point01”, “Point01”));list.add(new OverlayItem(geoPoint2, “Point02”, “Point02”));list.add(new OverlayItem(geoPoint3, “Point03”, “Point03”));//地图刷新的功能populate();}// 返回制定的list集合中每一个坐标@Overrideprotected OverlayItem createItem(int arg0) { list.get(arg0);}// 返回地图上点的个数@Overridepublic int size() { list.size();}@Overridepublic boolean onTap(int i) {// TODO Auto-generated method stubToast.makeText(MainActivity.this, list.get(i).getSnippet(),1).show();return true;}}

然后在MainActivity中添加一下代码(需要在项目中导入一张图片,命名为:iconmarka):

Drawable drawable = getResources().getDrawable(R.drawable.iconmarka);mapView.getOverlays().add(new MyOverlayItem(drawable));

最终效果图:

也只有懂的接受自己的失败,才能更好的去发挥自身优势,也才能够更好的去实现自我;

Android(三)百度地图开发(二)地图覆盖物

相关文章:

你感兴趣的文章:

标签云: