android 使用覆盖图
先提示 几点
我们创建 项目的时候 要选择 Google APIs 不要选择 Android。
要使用 谷歌地图 我们需要一个 api key密钥,至于怎么得到密钥 大家自己去 搜搜吧,如果下载这个例子的源码,需要把我例子里边的 密钥 替换成 自己的。
我们要在 AdnroidManifest.xml中 引用地图库 加上这一句
运行效果图
为了将标记添加到地图上,必须创建 com.google.android.maps.Overlay 的扩展类并将其添加到地图上。 Overlay类本身无法实例化,所以必须扩展它或使用一个现有的扩展。在我们的示例中,实现了 InterestingLocations,它扩展了 ItemizedOverlay,而后者又扩展了Overlay。Overlay类定义了覆盖地图的契约,ItemizedOverlay 是一个很方便的实现,它简化了创建可在地图上标记的一组位置的过程。
一般使用模式是扩展 ItemizedOverlay 类并在构造函数中添加 “项”----------感兴趣的位置。实例化兴趣点之后,调用ItemizedOverlay的populate()方法。populate()方法是一个实用程序,用于缓存OverlayItem。在内部,该类调用 size()方法来确定覆盖项的数量,然后进入循环,为每个项调用 createItem(i)。在createItem 方法中,返回数组中给定索引处已经创建的项目。
从上面的代码中我们可以看出,我们只是创建了一些点,并调用 populate()在地图上显示标记。Overlay 负责执行剩余的工作,为了正确显示这些标记,Activity的onCreate()方法创建InterestingLocations实例,传入用于表示标记的Drawable。然后 onCreate()将 Interesting-Location 实例添加到覆盖图集合 (mapView.getOverlays().add())中。
如果大家还有一个方法弄不太清楚,可以去看看 Google Maps for Android API 这里感谢高德软件公司给我们翻译了,呵呵。他们有自己的一套API 兼容 google的那套。都差不多,但是他们的是中文的 汗一把。猛点这里http://code.autonavi.com/android/code 建议大家去看看,还有最后关于怎么获取经纬度大家点这里http://www.williamlong.info/archives/941.html。