Google Map Android v2开发: 安装运行Google Map Android v2 示例程序

V2 版本有几个注意事项:

  • 只能运行在Android2.2以及以上版本的设备上
  • 不能运行在模拟器中

 

  • 在开发环境中安装Goole Play service SDK.

(参考: http://developer.android.com/google/play-services/setup.html)

  1. 在Eclipse中打开 Windows>Android SDK Manager
    0T((W]AF]A)59ATEL6]B{DE
     
  2. 滚动条滚动到最下面,选择 Extra>Google Play services, 然后安装.
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第1张图片 
    下载后的Google Play services SDK 保存在<android-sdk-folder>/extras/google/google_play_services/.
  3. 复制<android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib到任何地方.我这里是复制到D:\code. 然后再eclipse中选择 File > Import, Android > Existing Android Code into Workspace. (注意: 这里是 Android > Existing Android Code into Workspace, 而不是General > Existing Projects into Workspace, 否则是无法导入的.)
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第2张图片
  4. 导入示例程序.
    为了不破坏SDK中的程序的原样,我们先把示例程序复制一份出来.
    复制
    <android-sdk-folder>/extras/google/google_play_services/samples/mapsD:\code 下.
    然后选择File > Import, Android > Existing Android Code into Workspace,把此程序导入到Eclipse中.(注意: 这里是 Android > Existing Android Code into Workspace, 而不是General > Existing Projects into Workspace, 否则会出现大量错误.)
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第3张图片
     
    这个工程导入后可能会出现很多问题,请尝试使用以下方法解决:
        1. 在此工程上点击右键,选择Properties>Android, 在右下方的Library选项中如果出现红叉,先把它删除,然后点击添加按钮,把前面导入的google-play-services_lib工程加进来
        2. 另一个问题就是android.support找不到,这个是缺少android-support-v4.jar,可以通过在工程上点击右键,选择Android Tools > Add Support Library, 会从网络上下载.如果网络下载有问题,也可以在工程中新建目录libs,然后把此文件从<android-sdk-folder>\extras\android\compatibility\v4\android-support-v4.jar复制到新建目录一个就可以了.
  • 获得Goole Maps API Key
    (参考: https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key
           http://developer.android.com/tools/publishing/app-signing.html)

获得Google Maps API Key 在V2版本中需要如下几个步骤:

  1. 查看程序签名的SHA1认证指纹.
    在开发模式下,默认会使用C:\Users\<你的用户名称>\.android\debug.keystore这个自动生成的debug状态的签名文件,可以通过Windows>Preferences>Android中的Default debug keystore进行查看.
    接下来进入你的系统的命令行控制台中,切换到你安装的JDK的bin目录中输入keytool -v -list -keystore C:\Users\<你的用户名称>\.android\debug.keystore,密码是android,查看"证书指纹"中的SHA1中的内容,这个内容记下来,接下来会使用到.
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第4张图片

  2. 创建Google Maps API Key.
    访问Google APIs Console(https://code.google.com/apis/console).如果没有登录,就先登录.登录后,如果是首次使用,会出现让你创建API工程的页面.
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第5张图片
    点击Create project后会跳转到services页面,需要在这个页面选择你要使用的API.这里我们选择Google Maps Android API v2.
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第6张图片
    之后会跳转到服务条款确认的页面,接受后,在显示的页面中左边列表选择”API Access”,然后点击Create new Android key... 按钮.
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第7张图片
    在弹出的对话框中填写SHA1认证指纹和程序的包命,中间用分号分隔(google自带的google map v2示例程序的包命是com.example.mapdemo):
    0E:10:94:C7:B9:FD:15:62:27:FC:E7:FC:0C:05:59:A7:18:41:F5:B2;com.example.mapdemo
    点击create按钮后,就创建了一个新的API key:
    Google Map Android v2开发: 安装运行Google Map Android v2 示例程序_第8张图片

  • 配置运行示例程序

  1. 打开示例程序的AndroidManifest.xml, 把上面生成的API key复制到以下位置:
    TM截图未命名

  2. 现在,这个程序可以在手机中运行了(不能运行在模拟器中).如果手机中没有安装Goole Play Services和Google Map,程序会崩溃,在Android Logcat视图中可以看到提示相关东西没有安装.这种方式非常不友好,我们应该添加一些代码,提示用户安装安装缺少的东西.
    在MainActivity.java中的最下面添加如下代码:
          
          
          
          
          
    // ======= For Google Maps Check============ public boolean isGoogleMapsInstalled() { try { ApplicationInfo info = getPackageManager().getApplicationInfo( " com.google.android.apps.maps " , 0 ); return true ; } catch (PackageManager.NameNotFoundException e) { return false ; } } public OnClickListener getGoogleMapsListener() { return new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse( " market://details?id=com.google.android.apps.maps " )); startActivity(intent); // Finish the activity so they can't circumvent the check finish(); } }; }


    然后在onCreate方法中添加一些代码,如下:
          
          
          
          
          
    @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.main); ListAdapter adapter = new CustomArrayAdapter( this , demos); setListAdapter(adapter); // ======= For Google Maps Check============ if ( ! this .isGoogleMapsInstalled()) { AlertDialog.Builder builder = new AlertDialog.Builder( this ); builder.setMessage( " Install Google Map ? " ); builder.setCancelable( false ); builder.setPositiveButton( " Install " , getGoogleMapsListener()); AlertDialog dialog = builder.create(); dialog.show(); } }


    现在再运行,就会提示用户安装缺少的内容.


你可能感兴趣的:(Google Map Android v2开发: 安装运行Google Map Android v2 示例程序)