Android Google Map V2,提供MapFragment,可以与使用Fragment一样,使用Google Map了

社区广播:运维派(Yunweipai.com)是国内最早成立的IT运维社区,欢迎大家投稿,让运维人不再孤寂的成长!

当前LBS的应用越来越火爆,LBS的应用开发就离不开Google Map。Google Map API大家一定也很熟悉,在PC浏览器版本上,Google Map API已经到了V3版本了。
不过在android平台上,Google 今年12月份推出了V2版本,其最大的特点是提供了MapFragment对象,开发着可以将Map像一个普通的Fragment一样,嵌入到自己的App中。

使用过V1版本的Google Map android API的同学都知道,V1版本android要在界面中显示Map,需要继承自MapActivity,就是说得用Google提供的Activity才能用其Map,不能在自己的Activity中使用。
这种方式最大的一个弊端是,你无法在多Tab页或向导的应用中显示Map,如微博的多个tab页,不能在其中一个Tab页显示Map,因为Tab页对应的是一个Fragment,而Map是一个Activity。这种API方式就只能开发最简单的Map程序:将Map显示出来,界面非常单调。
关于多Tab页可以参考这个文章《Android实现多Tab页应用》,关于向导可以参考这个文章《Android向导框架的一种实现》。

V2版本的MapFragment就很大程度地解除了之前V1版本呢对开发者的束缚。MapFragment是Fragment的一个子类,注意是android.app.Fragment,不是android.support.v4.app.Fragment,这两个Fragment应用层面对开发者没有区别,只是android.app.Fragment在新的API包中,要求最低的API level是13,这就意味着要使用MapFragment,一些低版本的设备就没法支持了。

MapFragment的开发指南,在android官方网站上可以找到 https://developers.google.com/maps/documentation/android/start?hl=zh-cn,这个教程有详细地说明如何开发和配置。

这里我再介绍一下,如何将Map集成到向导框架中。

集成到向导框架的操作很简单,前提是你已经根据《Android向导框架的一种实现》里面的说明,搭建好了向导框架。
那么,只需要将你要展示Map的向导页的layout文件,写成如下即可:
<?xml version=“1.0” encoding=“utf-8”?>
<fragment xmlns:android=“http://schemas.android.com/apk/res/android”
android:id=“@+id/map”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:name=“com.google.android.gms.maps.MapFragment”/>

然后,其他事情就交给向导框架了。
运行效果图:

有一个问题就是向导的按钮覆盖到了地图上面,有兴趣的同学可以研究一下原因。

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Copyright © 2012-2017 YUNWEIPAI.COM - 运维派 - 粤ICP备14090526号-3
扫二维码
扫二维码
返回顶部