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 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 > ImportAndroid > 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 > ImportAndroid > 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();
            }
        }


    现在再运行,就会提示用户安装缺少的内容. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值