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

V2 版本有几个注意事项:html

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

 

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

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

  1. 在Eclipse中打开 Windows>Android SDK Manager
    0T((W]AF]A)59ATEL6]B{DE
     
  2. 滚动条滚动到最下面,选择 Extra>Google Play services, 而后安装.
    未命名 
    下载后的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, 不然是没法导入的.)
    未命名
  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, 不然会出现大量错误.)
    未命名
     
    这个工程导入后可能会出现不少问题,请尝试使用如下方法解决:
        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复制到新建目录一个就能够了.

得到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中的内容,这个内容记下来,接下来会使用到.
    未命名

  2. 建立Google Maps API Key.
    访问Google APIs Console(https://code.google.com/apis/console).若是没有登陆,就先登陆.登陆后,若是是首次使用,会出现让你建立API工程的页面.
    未命名
    点击Create project后会跳转到services页面,须要在这个页面选择你要使用的API.这里咱们选择Google Maps Android API v2.
    未命名
    以后会跳转到服务条款确认的页面,接受后,在显示的页面中左边列表选择”API Access”,而后点击Create new Android key... 按钮.
    TM截图未命名
    在弹出的对话框中填写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:
    TM截图未命名

  • 配置运行示例程序

  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(); } }
    如今再运行,就会提示用户安装缺乏的内容.
相关文章
相关标签/搜索