摘自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地图API是一个非常重要的组件,它允许开发者在应用程序中集成地图功能,包括定位、绘制标记、规划路径等。本Dome主要针对Android Google地图定位以及添加多个标记并设置路线进行详细讲解...
在Android平台上,集成和使用谷歌地图(Google Maps)是一项常见的任务,它可以帮助开发者为用户提供直观的位置服务和导航功能。在你的项目中,你已经成功地实现了在地图上显示无锡和南京两个地点的标记,并且点击...
本教程将聚焦于如何利用`Overlay`类在Google地图上添加标记,这将帮助我们为用户提供直观的位置指示或者信息展示。`Overlay`是Android SDK中用于在地图上绘制图形或文本的对象,它允许我们在地图上添加自定义的图标...
在Android平台上集成Google地图是一项常见的任务,这可以让用户在应用中直接查看地理位置、导航和进行其他地图相关的操作。本文将详细介绍如何在Android应用中使用Google地图API,包括添加API密钥、集成maps.jar库...
在Android开发中,集成Google Maps SDK和Google Location SDK是实现地图展示、定位功能的重要环节。本文将详细讲解如何使用这两个SDK来实现相应的功能,并提供一些关键知识点。 首先,我们需要在项目中添加Google ...
在Android平台上,Google Maps API为开发者提供了一个强大的工具,用于集成地图功能到应用程序中,包括导航。本项目基于Android的Google Maps API,构建了一个地图导航系统,提供了完整的源代码,可以直接应用于开发...
在Android开发中,集成并使用Google地图是一项常见的需求。Google地图API为开发者提供了丰富的功能,如显示地图、添加标记、绘制路径、测量距离等。本文将深入探讨如何在Android应用中实现这些功能。 首先,要使用...
在Android平台上实现谷歌地图项目是一项常见的任务,尤其对于开发者来说,了解如何集成并操作谷歌地图API至关重要。这个项目,名为“MapDemo1.0”,显然旨在帮助开发者掌握这一技能。以下是一些关于如何在Android...
本示例是一个针对新手的简单教程,演示如何在Android 2.2(API Level 8)上集成并使用谷歌地图API来显示地图并标记当前位置。我们将探讨以下几个关键知识点: 1. **获取Google Maps API Key** 在Android应用中使用...
在Android开发中,集成Google地图并实现地图图层叠加是一项常见的任务,这使得开发者能够创建出功能丰富的地理位置应用。Google地图API提供了强大的功能,允许我们不仅显示基础的地图数据,还能添加自定义图层,比如...
在Android平台上,集成Google Maps API可以为应用提供强大的地理定位和地图展示功能。本文将深入探讨如何使用Google Maps SDK for Android实现手机地图功能,并通过GPS进行精确定位。 首先,我们需要在Android项目...
在Android平台上,Google ...综上所述,要在Google Android地图上显示当前位置,开发者需要理解并运用Location API、Google Maps SDK以及Android权限管理机制,通过合理的编程实践,为用户提供流畅且节能的定位体验。
首先,集成谷歌地图API需要在Google Developer Console上注册一个项目,并为该项目启用Google Maps Android API。在此过程中,你需要获取API密钥,这个密钥将在你的应用程序中用于验证身份并访问API服务。 接着,...
在Android平台上,集成Google地图是一项常见的任务,尤其对于开发者来说,理解如何在应用中实现这一功能至关重要。"Android Google 地图实例"是为开发者提供的一份清晰易懂的示例代码,它可以帮助你快速掌握如何在...
在Android应用开发中,Google Maps API是一个强大的工具,它允许开发者在应用程序中集成地图功能,包括定位、导航、路线规划等。然而,当需要在地图上绘制复杂的图形,如多边形和折线时,原始API可能会显得较为繁琐...
此外,还可以添加标记、路径线、自定义图层等功能,以便在地图上显示特定的信息。 博客实例代码中可能会包含如何处理地图事件的示例,如点击地图、拖动地图、缩放地图等,这些都需要实现对应的监听器。同时,如果你...
在Android开发中,集成地图服务是一项常见的需求,而高德地图和谷歌地图是两个常用的平台。本示例探讨的是如何在Android应用中利用高德地图API加载谷歌的卫星瓦片,并将其缓存到本地,同时展示如何在地图上加载多个...
在这个名为"Android google地图api Demo"的项目中,我们将深入探讨如何使用Google Maps API在Android应用上实现一个简单的地图展示示例。 首先,我们需要在Google Cloud Console上注册一个新的项目,并启用Google ...
在Android平台上进行Google地图开发是一项常见的任务,它允许开发者集成地图功能到应用程序中,提供定位、导航、路线规划等服务。Google地图API是Google提供的一个强大的工具,它可以帮助开发者创建丰富的地图应用,...