摘自mars chen 老师的视频第三季 07季
首先我们要明白Overlay的作用:
1.一个overlay对象表示显示在MapView之上的图层 2 在一个overlay对象中可以包含多个地图标记
详情见:http://code.google.com/android/add-ons/google-apis/reference/index.html
其次:要明白ItemizedOverlay的作用:
1.它是overlay的子类 2在该类当中拥有一个或多个OverlayItem 3每个OverlayItem 代表一个标记
详见:http://code.google.com/android/add-ons/google-apis/reference/index.html
在地图中使用标记的步骤:
1.在MapView上创建一个单独的图层
2 创建标记对象
3 将标记显示在指定图层的指定位置
4.处理点击标记事件
代码解析:
1.创建类,实现overlay即public class FirstOverlay extends ItemizedOverlay<OverlayItem>{}
2.创建一个list,用于持有该图层当中所有的标记对象
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
3 创建OverlayItem标记对象
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
4 将生成OverlayItem对象添加到list中
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
5 override the size()
method to return the current number of items in the ArrayList
@Override
public int size() {
return mOverlays.size();
}
6 添加构造方法
//defaultMarker 指定标记所使用的默认图片
public FirstOverlay(Drawable defaultMarker, Context context) {
//必须调用父类的构造函数
super(boundCenterBottom(defaultMarker));
mContext = context;
}
7 当用户点击时执行(override the onTap(int)
callback method, which will handle the event when an item is tapped by the user)
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
之后在MainActivity extends MapAcitivity中调用FirstOverlay 来使用标记
8 在onCreate() 中添加如下代码:前提是(在res/drawable下添加一个小图片命名为androidmarker.png或androidmarker.jpg)
//mapView.getOverlays()用于得到所有图层对象
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
FirstOverlay firstOverlay = new FirstOverlay(drawable,this);
9 接着添加
//GeoPoint用于通过经纬度指定地图上的一个点
GeoPoint point = new GeoPoint(19240000, -99120000);
OverlayItem overlayitem = new OverlayItem(point, "Hola, Mundo!","I'm in Mexico City!");
10 添加
firstOverlay.addOverlay(overlayitem);
mapOverlays.add(firstOverlay);
所对应得main.xml文件为
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="*****"
/>
</RelativeLayout>
之后就运行你的项目吧 嘿嘿 效果如下:
当点击图片时,显示
最最原始的代码请见:http://developer.android.com/resources/tutorials/views/hello-mapview.html的
Part 2: Adding Overlay Items
- 大小: 34.7 KB
- 大小: 51.1 KB
分享到:
相关推荐
Android Google地图定位添加多个标记,设置路线。已集成好类库的官方Dome
mars老师写的重写overlay类在google地图上添加标记的程序,代码清楚易懂
添加GPS位置标注 叠加图层 google地图显示
风景区-悉尼这是用于Google地图相关功能的POC应用程序。概述该项目演示了Android中Google Maps SDK的用法。 一个简单的两页应用程序: ... 要在地图上添加自定义标记,请在需要的地方长按。 这将打开DetailActivity,可
googlemap 添加标记 并有气泡效果 可添加多个不同的标记 解压后2个文件 android-mapviewballoons 是第三方类库 MallFinderP2 是使用例子
10.2 GPS轨迹记录器——利用LocationListener在地图上画图并换算距离 10.3 女性贴身看护——AlarmManager.DatePicker.TimePicker 10.4 手机QRCode二维条形码生成器——Canvas与SurfaceHolder绘图 10.5 AndroidQRCode...
Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身...
Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身...
10.2 GPS轨迹记录器——利用LocationListener在地图上画图并换算距离 10.3 女性贴身看护——AlarmManager.DatePicker.TimePicker 10.4 手机QRCode二维条形码生成器——Canvas与SurfaceHolder绘图 10.5 AndroidQRCode...
10.2 GPS轨迹记录器——利用LocationListener在地图上画图并换算距离 10.3 女性贴身看护——AlarmManager.DatePicker.TimePicker 10.4 手机QRCode二维条形码生成器——Canvas与SurfaceHolder绘图 10.5 AndroidQRCode...
1.5.2 自带的Google地图、地理编码和基于位置的服务 6 1.5.3 后台服务 6 1.5.4 SQLite 数据存储和检索数据库 6 1.5.5 共享数据和应用程序间通信 7 1.5.6 使用Google Talk的P2P服务 7 1.5.7 扩展的数据支持和2D...
10.2 GPS轨迹记录器——利用LocationListener在地图上画图并换算距离 10.3 女性贴身看护——AlarmManager.DatePicker.TimePicker 10.4 手机QRCode二维条形码生成器——Canvas与SurfaceHolder绘图 10.5 AndroidQRCode...
Google Map应用:GPS定位、规划导航路径、GPS Google地图、地址反查地理坐标等卫星全球定位实例。 创意程序设计:即时动态桌面、电蚊香、转转轮盘、任务管理器、中英发音字典、手机手电筒、GPS轨迹记录器、女性贴身...
[不推荐使用] GoogleMapsAnimations“ GoogleMapsAnimations”是它的一个很棒的类型的android库,用于在Google地图上显示涟漪和雷达动画,例如,显示地震已经发生涟漪的集水区[不推荐使用] GoogleMapsAnimations“ ...
9.5 gps google地图 648 9.6 移动版google map 653 9.7 规划导航路径 658 9.8 移动设备上的picasa相册 664 9.9 随身翻译机 677 9.10 通过youtube id调用youtube播放影片 681 9.11 google ...
10.2.2 秘诀87:在地图上添加标记 224 10.2.3 秘诀88:在地图上添加视图 228 10.2.4 秘诀89:在地图上标记设备的当前位置 230 10.2.5 秘诀90:设置临近警告 231 第11 章 android 高级开发技术 232 11.1 android ...
10.2 GPS轨迹记录器——利用LocationListener在地图上画图并换算距离 10.3 女性贴身看护——AlarmManager.DatePicker.TimePicker 10.4 手机QRCode二维条形码生成器——Canvas与SurfaceHolder绘图 10.5 ...
它将介绍如何通过Google Developer Console设置Google Maps API,包括应用程序中的地图片段,显示用户的位置,添加标记,在地图上绘制以及一些将实用程序添加到您的应用程序的常规方法。 Tuts +教程的源文件: ...