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

1.设置显示交通地图:

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

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

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

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

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

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

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

    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 arg0, MapView arg1, boolean arg2) {
// TODO Auto-generated method stub
super.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>();
// 定义一个坐标,double类型
private double mLat1 = 39.90923; // 表示经度
private double mLon1 = 116.397428;// 表示纬度 private double mLat2 = 39.9022; // 表示经度
private double mLon2 = 116.3922;// 表示纬度 private double mLat3 = 39.917723; // 表示经度
private double mLon3 = 116.37222;// 表示纬度 // 用于在地图上标识坐标,用一个图片标注
public MyOverlayItem(Drawable arg0) {
super(arg0);
// TODO Auto-generated constructor stub 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中把这几个点添加进去
list.add(new OverlayItem(geoPoint1, "Point01", "Point01"));
list.add(new OverlayItem(geoPoint2, "Point02", "Point02"));
list.add(new OverlayItem(geoPoint3, "Point03", "Point03")); //地图刷新的功能
populate(); } // 返回制定的list集合中每一个坐标
@Override
protected OverlayItem createItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
} // 返回地图上点的个数
@Override
public int size() {
// TODO Auto-generated method stub
return list.size();
} @Override
public boolean onTap(int i) {
// TODO Auto-generated method stub
Toast.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百度地图开发(二)地图覆盖物的更多相关文章

  1. C#的百度地图开发(二)转换JSON数据为相应的类

    原文:C#的百度地图开发(二)转换JSON数据为相应的类 在<C#的百度地图开发(一)发起HTTP请求>一文中我们向百度提供的API的URL发起请求,并得到了返回的结果,结果是一串JSON ...

  2. 百度地图开发-引入地图SDK并配置 02

    百度地图开发-引入地图SDK并配置 02 通过上一篇文章的介绍,基本了解百度地图的基本信息,接下来就让我们一起来实际在项目中操作,显示出地图. 01 引入地图SDK 首先需要新建一个空白的Androi ...

  3. Android Camera系列开发 (二)通过Intent录制视频

    Android Camera系列开发 (二)通过Intent录制视频 作者:雨水  2013-8-18 CSDN博客:http://blog.csdn.net/gobitan/ 概述 使用Camera ...

  4. Android地图开发之地图的选择

    做lbs开发差不多快2年了,地图相关的产品也差不多做了3个了,用到过的地图包括google地图.高德地图.百度地图.图吧.Osmdroid,今天总结下,方便大家开发时选择合适的地图. 首先说定位模块选 ...

  5. Android 实践项目开发二

    在地图开发中项目中,我这周主要完成的任务是和遇到的问题是以下几个方面. 1.在本次的项目中主要是利用百度地图的.jar包实现地图的定位与搜索功能,需要在百度地图开发中心网站取得 密钥,并下载相关.ja ...

  6. Android 音视频开发(二):使用 AudioRecord 采集音频数据并保存到文件

    版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7457321.html 一.AudioRecord API详解 AudioRecord是Android系统提 ...

  7. Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件

    版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7457321.html 一.AudioRecord API详解 AudioRecord是Android系统提 ...

  8. C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息

    原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...

  9. C#的百度地图开发(一)发起HTTP请求

    原文:C#的百度地图开发(一)发起HTTP请求 百度地图的开发文档中给出了很多的事例,而当用到具体的语言来开发时,又会有些差异.我是使用C#来开发的.在获取相应的数据时,需要通过URL传值,然后获取相 ...

  10. Android 音视频开发学习思路

    Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的.只能通过一点点的学习和积累把这块的知识串联积累起来. 初级入门篇: Android 音视频开发(一) ...

随机推荐

  1. JVM垃圾回收机制总结(7) :调优方法

    JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用.对垃圾回收算法有很详细的跟踪.详细说明参考这里 ...

  2. 页面关键词Meta Keywords和描述Description的优化作用

    前几日有两三个童鞋们问我为什么文章目录页面没有设置关键词,我原先还以为什么关键词,后来才明白是问我为什么不添加Meta Keywords.关于这个问题我直接回应他们说目录页面Meta Keywords ...

  3. 【图像算法】图像特征:GLCM灰度共生矩阵,纹理特征

    [图像算法]图像特征:GLCM SkySeraph Aug 27th 2011  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modifie ...

  4. 大规模视觉识别挑战赛ILSVRC2015各团队结果和方法 Large Scale Visual Recognition Challenge 2015

    Large Scale Visual Recognition Challenge 2015 (ILSVRC2015) Legend: Yellow background = winner in thi ...

  5. PHP中对数据库操作的封装

    在动态网面设计中很多都要涉及到对数据库的操作,但是有时跟据需要而改用其它后台数据库,就需要大量修改程序.这是一件枯燥.费时而且容易出错的功作.其实我们可以用PHP中的类来实现对数据库操作的封装,从而使 ...

  6. javacc jjtree 写法 以及 jj写法 基本语法 以及应用

    /***********************************************************/>我使用的测试jjt,jj文件来自于javacc5.0版本>dir ...

  7. HDU 4651 Partition(整数拆分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给出n.求其整数拆分的方案数. i64 f[N]; void init(){    f[0 ...

  8. 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )

    从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 )   我现在在Coursera上面学data science 中的R programming,过去很少接 ...

  9. iOS-APP中添加启动界面

    iOS,非常高兴的又回到了这个领域.纠结的就业之路...找工作的这段时间里,原本以为是iOS的游戏开发,却一直只有后台的offer,到Android,最后正式上班的时候却被告知调到了iOS开发,当然不 ...

  10. Remember that ordinal parameters are 1-based!

    问题发生的原因是:hql语句里不需要参数,却添加了一个参数,删掉添加参数的语句就可以了!