`

android 在Google地图上添加标记

 
阅读更多

摘自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
分享到:
评论
1 楼 hao123xue456 2011-11-16  
不错,现在正需要呢

相关推荐

    Android Google地图定位添加标记DOME

    在Android应用开发中,Google地图API是一个非常重要的组件,它允许开发者在应用程序中集成地图功能,包括定位、绘制标记、规划路径等。本Dome主要针对Android Google地图定位以及添加多个标记并设置路线进行详细讲解...

    android使用谷歌地图

    在Android平台上,集成和使用谷歌地图(Google Maps)是一项常见的任务,它可以帮助开发者为用户提供直观的位置服务和导航功能。在你的项目中,你已经成功地实现了在地图上显示无锡和南京两个地点的标记,并且点击...

    android地图使用overlay添加标记

    本教程将聚焦于如何利用`Overlay`类在Google地图上添加标记,这将帮助我们为用户提供直观的位置指示或者信息展示。`Overlay`是Android SDK中用于在地图上绘制图形或文本的对象,它允许我们在地图上添加自定义的图标...

    android使用google地图

    在Android平台上集成Google地图是一项常见的任务,这可以让用户在应用中直接查看地理位置、导航和进行其他地图相关的操作。本文将详细介绍如何在Android应用中使用Google地图API,包括添加API密钥、集成maps.jar库...

    Android地图定位googleSDK使用

    在Android开发中,集成Google Maps SDK和Google Location SDK是实现地图展示、定位功能的重要环节。本文将详细讲解如何使用这两个SDK来实现相应的功能,并提供一些关键知识点。 首先,我们需要在项目中添加Google ...

    基于android的google地图导航

    在Android平台上,Google Maps API为开发者提供了一个强大的工具,用于集成地图功能到应用程序中,包括导航。本项目基于Android的Google Maps API,构建了一个地图导航系统,提供了完整的源代码,可以直接应用于开发...

    Android Google地图的使用

    在Android开发中,集成并使用Google地图是一项常见的需求。Google地图API为开发者提供了丰富的功能,如显示地图、添加标记、绘制路径、测量距离等。本文将深入探讨如何在Android应用中实现这些功能。 首先,要使用...

    android实现谷歌地图项目

    在Android平台上实现谷歌地图项目是一项常见的任务,尤其对于开发者来说,了解如何集成并操作谷歌地图API至关重要。这个项目,名为“MapDemo1.0”,显然旨在帮助开发者掌握这一技能。以下是一些关于如何在Android...

    Android 谷歌地图标记所在位置简单例子

    本示例是一个针对新手的简单教程,演示如何在Android 2.2(API Level 8)上集成并使用谷歌地图API来显示地图并标记当前位置。我们将探讨以下几个关键知识点: 1. **获取Google Maps API Key** 在Android应用中使用...

    android google地图显示地图图层叠加

    在Android开发中,集成Google地图并实现地图图层叠加是一项常见的任务,这使得开发者能够创建出功能丰富的地理位置应用。Google地图API提供了强大的功能,允许我们不仅显示基础的地图数据,还能添加自定义图层,比如...

    android google地图定位

    在Android平台上,集成Google Maps API可以为应用提供强大的地理定位和地图展示功能。本文将深入探讨如何使用Google Maps SDK for Android实现手机地图功能,并通过GPS进行精确定位。 首先,我们需要在Android项目...

    Google Android 地图上显示当前位置

    在Android平台上,Google ...综上所述,要在Google Android地图上显示当前位置,开发者需要理解并运用Location API、Google Maps SDK以及Android权限管理机制,通过合理的编程实践,为用户提供流畅且节能的定位体验。

    android 应用 源代码——谷歌地图

    首先,集成谷歌地图API需要在Google Developer Console上注册一个项目,并为该项目启用Google Maps Android API。在此过程中,你需要获取API密钥,这个密钥将在你的应用程序中用于验证身份并访问API服务。 接着,...

    android google 地图实例

    在Android平台上,集成Google地图是一项常见的任务,尤其对于开发者来说,理解如何在应用中实现这一功能至关重要。"Android Google 地图实例"是为开发者提供的一份清晰易懂的示例代码,它可以帮助你快速掌握如何在...

    Android-ExtraMapUtils一个Android库实现更方便在Google地图上标记绘制多边形和折线

    在Android应用开发中,Google Maps API是一个强大的工具,它允许开发者在应用程序中集成地图功能,包括定位、导航、路线规划等。然而,当需要在地图上绘制复杂的图形,如多边形和折线时,原始API可能会显得较为繁琐...

    天地图开发之Android-显示天地图

    此外,还可以添加标记、路径线、自定义图层等功能,以便在地图上显示特定的信息。 博客实例代码中可能会包含如何处理地图事件的示例,如点击地图、拖动地图、缩放地图等,这些都需要实现对应的监听器。同时,如果你...

    Android高德加载谷歌卫星瓦片,并缓存本地

    在Android开发中,集成地图服务是一项常见的需求,而高德地图和谷歌地图是两个常用的平台。本示例探讨的是如何在Android应用中利用高德地图API加载谷歌的卫星瓦片,并将其缓存到本地,同时展示如何在地图上加载多个...

    Android google地图api Demo

    在这个名为"Android google地图api Demo"的项目中,我们将深入探讨如何使用Google Maps API在Android应用上实现一个简单的地图展示示例。 首先,我们需要在Google Cloud Console上注册一个新的项目,并启用Google ...

    android google地图开发

    在Android平台上进行Google地图开发是一项常见的任务,它允许开发者集成地图功能到应用程序中,提供定位、导航、路线规划等服务。Google地图API是Google提供的一个强大的工具,它可以帮助开发者创建丰富的地图应用,...

Global site tag (gtag.js) - Google Analytics