【android】【google map api v2】google 地图 api v2
2013-02-05 17:32
615 查看
今天看了《GoogleAndroid游戏开发》,看到第五章的时候,发现有实现google地图的示例,于是想copy下看看。才发现,书上的示例是对于googlemapapiversion1版本,其api已于去年年度升级至version2了。
先贴上官方的网站,大家可以细看:https://developers.google.com/maps/documentation/android/?hl=zh-CN
v2与v1变化还蛮大的,现在大致发现有三大区别:
1、APIKey的获取方式不同
1)v1是拿MD5编码去登陆网站http://code.google.com/android/maps-api-signup.html申请由Google签署的key
2)v2则是拿SHA-1fingerprint登录网站https://code.google.com/apis/console/申请APIKey(具体怎么拿,会再后面给出)
2、显示组件不同
Mapsarenowencapsulatedinthe
1)v1中是采用MapView+MapActivity来实现地图的展示先贴上官方的网站,大家可以细看:
v2与v1变化还蛮大的,现在大致发现有三大区别:
1、APIKey的获取方式不同
1)v1是拿MD5编码去登陆网站
2)v2则是拿SHA-1fingerprint登录网站
2、显示组件不同
class,anextensionofAndroid'sMapFragment
class.NowyoucanaddamapasapieceofalargerFragment
.WithaActivity
object,youcanshowamapbyitselfonsmallerscreens,suchasmobilephones,orasapartofamorecomplexUIonlarger-screendevices,suchastablets.BecausemapsareencapsulatedintheMapFragment
class,youcanimplementthembyextendingtheAndroidstandardMapFragment
class,ratherthanextendingtheActivity
MapActivityusedinversion1.
2)v2是采用MapFragment来实现
3、2D+3D视图
v2中增加了2D的不同方位展示,以及3D效果展示,更加地服务于大众了,尤其是对于像我这样东南西北分不清楚的人。
现在贴上使用googlemapapiv2的步骤:
1、安装GooglePlayservicesSDK:
如果是使用Eclipse开发工具,则可以点击窗口—AndroidSDKManage–Extras–GooglePlayservice,installpackages...安装。如下图:
2、获取APIKey
1)先获取SHA-1fingerprint:
注意,这里的数字证书是有两种的,一种是debug,还有release。前者只能用于测试;后者才可以用于实际产品。
antprogramorEclipse.Youcanalsogeneratethiscertificateusingthe
keytoolprogram.Thiscertificatecanbeusedwithanappyoureleasetotheworld.Onceyouhavethecorrectcertificateforyourneeds,youcandisplayitsSHA-1fingerprintusingthe
keytoolprogram.
得到SHA1。如下图:
至于release版本的数字证书:
1)使用keytool生成keystore.基本命令如下:keytool–genkey–aliasdemo.keystore–keyalgRSA–validity40000–keystoredemo.keystore
说明:-genkey:产生密钥
-aliasdemo.keystore:别名demo.keystore
-keyalgRSA:使用RSA算法对签名加密
-validity40000:有效期限40000天
-keystoredemo.keystore
2)获取SHA1的方式同debug是类似的,区别在于keystore密码不是android,而是你在生成keystore时设置的密码。
3)画外音:生成release版本的APK,是另外的一个议题了。
2)登录网站获取APIKey
去这个网址:
如上截图给出的APIKey就是我们所需要的。
注意:在申请APIKey是会要求写上包名,这里请填上你需要测试的工程的包名(例如,我的包名是com.amanda.activity)。
3、创建工程
这里就只贴上一些代码了。如果需要查看具体是什么意思,请参考链接:
AndroidManifest.xml
布局文件activity_main.xml:
<fragmentxmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.MapFragment"/>
主程序MainActivity.java:
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.view.Menu;
publicclassMainActivityextendsActivity{
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
publicbooleanonCreateOptionsMenu(Menumenu){
//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.
getMenuInflater().inflate(R.menu.activity_main,menu);
returntrue;
}
}
4、导入GooglePlayservices类库:
1)在Eclipse里面选择:File>Import>Android>ExistingAndroidCodeIntoWorkspace然后点击Next.
之后Browse...,找到路径下的<android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib,然后选择Finish。
2)添加对这个库的引用:
在自己的项目上右键,选Properties,左边选Android,然后在下面的Library里面Add刚才的google-play-services_lib。
基本就是以上内容了。
运行时,出现了一些问题,现在也一并贴上。
问题一:没有导入google-play-services_lib类
出现以上问题,请见上述步骤4.
问题二:提示没有googleplay服务
郁闷的是,自己的手机是精简版的,手机上没有googleplay。在运行自己的工程时,提示“您的手机中没有googleplay服务...”。
这个解决办法是找了以下链接解决的,大家也可以看看:
因为还没有花多少时间研究该API,只是让它跑起来了。后期再加上其他功能的。例如,3D显示,经纬度定位等等。
参考文献:
【1】GoogleMapAPI官网介绍:
【2】
【3】
相关文章推荐
- 使用Google Map Api在Android平台上开发地图应用4
- Android Google 地图 API for Android
- Google 地图 API for Android
- 使用Google Map Api在Android平台上开发地图应用2
- Google 地图 API for Android
- 使用Google Map Api在Android平台上开发地图应用3
- 使用Google Map Api在Android平台上开发地图应用1
- Google Map开发(一) ASP.NET中调用Google Map API实现简单的地图显示
- Android传感器、语音识别、定位系统、Google Map API、快捷方式、widget编程总结及示例
- Google的全新在线地图API演示网站 - More than a map
- 【转】Android Google Map API使用的八个步骤
- Android Google Map实例 - MD5 、Google Map API Key获取(Android mapview)
- 避开Google Voice Search利用Google Speech API实现Android语音识别
- android申请google map api Key
- Google 地图开发 API3 API2 GDownloadUrl函数
- 如何使用google map api制作自己的地图(转载)
- android map如何获得Google Map API key
- linux kernel API and google android compile guide
- Google Maps API指南:地图事件
- android google map api Key