android手机端使用google map api V2

来源:互联网 发布:教学软件哪个好 编辑:程序博客网 时间:2024/05/22 11:59

最近在做android开发,其中需要 使用google  map,做了好久终于小有所成,下面就和大家分享一下~


实际上google官网上有详细的使用教程,不过都是英文的,大家可以参考一下,我下面就简单介绍一下使用步骤:


Step 1:首先安装Google Play services SDK

                打开Eclipse  -> Window  -> Android SDK Manager 


                  


                 

         

Step 2:引用Google Play Services

           (1)  Google Play Services导入工作空间。File-Import,选中Android节点下的Existing Android Code Into Workspace,单击Next,之后Browse...,找到路径下的<android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib并确定,勾选Copy projects into workspace,然后选择Finish。

          

     (2)添加引用。选中Package Explorer中的项目,单击Project-Properties-Android,在对话框的Library区域中单击Add按钮,选中google-play-services_lib后单击OK,LIbrary列表中出现正确的引用项,之后单击OK关闭对话框。

        

        (3)、导入android-support-v4.jar。

                  选中Package Explorer中的项目。选择Add External Jars,导入<android-sdk-folder>/extras/android/compatibility/v4/android-support-v4.jar


Step 3:获取 api key

         (1)、先找到debug.keystore文件,可以通过展开菜单:Window > Preferences > Android > Build 来查看这个路径

          (2)、通过终端执行命令获取SHAS   。(注:VI版的Google API在获取API KEY时使用的是MD5指纹,而V2版使用SHA1指纹

                   linux/os系统输入 :

            keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
                         windows系统输入:

                                     

                 keytool -list -v -keystore "C:\Users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
                       (此处可以参看官网)

                        

              (3)、登录Google APIS Console, 打开左上角下拉菜单,点击Create...,创建项目(名称任意,默认API Project)后,然后会跳转到services页面,需要在这个页面打开“Google Maps Android API v2”这个选项(使处于on的状态)

                           


                       单击左边菜单中的API Access,在出现的API Access界面中单击Create new Android key...按钮,弹出Config Android Key 对话框



         按照提示填好信息:(其中SHAS码后面的包名必须是你要使用google map的项目的包名)

                      点击Create之后,就会生成Key

                 


Step 4:创建项目

       (1)、自己创建一个项目,SDK也不必选择带有google map的版本,普通的就可以

          

       (2)、  修改AndroidManifest.xml文件

                    在<application>元素之中加入子标签:
                    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your_api_key"/>
                    注意替换上面的“your_api_key”为你真正生成的那串KEY字符。


                     然后在<application>标签之前添加许可信息(作为<manifest> 的子元素):
                   

                  <permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature" />                 <uses-permission android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />                 <uses-permission android:name="android.permission.INTERNET" />                 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />                <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />               <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />                <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />


                注意:里面有工程(绿色标记)的名称,需要更改成自己的。


               然后在</application>标签之后添加对OpenGL ES V2特性支持(作为<manifest> 的子元素):
                <uses-feature android:glEsVersion="0x00020000" android:required="true" />


            说明:

             <uses-permission android:name="android.permission.INTERNET"/>必不可少,否则应用无法访问互联网,AVD会出现白地图。

       (3)、修改布局文件activity_main.xml如下:

                 

<?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"/>
                  

     注意:如果你的Android SDK3.1API 12)之前版本,如Android 2.3.3,则需要将描红节点中的MapFragment修改为SupportMapFragment,因为MapFragment只在API 12及之后的版本才有,所以对于之前的版本需要使用Support Library来进行辅助。


         
    (4)、MainActivity.java
package com.example.mapdemo;import android.app.Activity;import android.os.Bundle;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    }}




Step  5: 运行程序           google map 程序推荐使用真机测试!!!!!          如果使用虚拟机测试,虚拟机的SDK Target请选择不带Google地图的API版本,切记!!!         第一次运行结果一般会报错:This app wont't run without Google play services,which are missing from your phone.                   emulator screenshot这是因为AVD不包含Google Play Services,解决的方法就是在AVD上安装两个包(Google Play StoreGoogle Play services):vending.apkgms.apk(下载最新版本,否则还是会报错:This app won't run unless you update google play services(就不上图了)   。。。)                  附:上面连个apk包安装:                             1)下载vending.apkgms.apk到任意文件夹                             2)启动AVD(一定要启动的时候安装)                                       3)打开终端,进入apk路径,输入:                                     adb install com.anroid.vending.apk 回车执行                                     adb install com.google.android.gms.apk 回车执行                                    输出success表示安装成功到这里google map基本就实现了, 地图的一些其他功能大家只需要看一下google api就可以了因为要做一些效果,比如Marker的移动(http://stackoverflow.com/questions/13728041/move-markers-in-google-map-v2-android)、带有箭头的Polyline(有思路,但是不好,还希望大家指点一二~)等等。还需要大家一起交流~

原创粉丝点击