Android软件中嵌入地图之三:Google地图

谷歌地图

一、当前版本:Google Map Android v2,支持Android 2.2及以上版本

二、使用方法:

1          使用keytool工具得到签名对应的“认证指纹”
keytool -list -alias 用户名 -keystore 签名文件路径 -storepass 密码

2          获得Google Map API Key
登录:https://code.google.com/apis/console(该网站像其它google网站一样,有时连不上,多连几次即可)
点开左侧的services,选中Google Map Android API v2和Google Play Android Developer API
点开右侧的APIaccess,选择其中的Createnew Android key,然后输入“认证指纹”,即可得到API Key

3          在开发环境中安装Google Play Service SDK
在Eclipse中打开 Windows>Android SDK Manager,下载Google Play services SDK,下载后保存在<android-sdk-folder>/extras/google/google_play_services/。
复制google_play_services/libproject/google-play-services_lib到任何地方,然后再eclipse中选择 File > Import, Android >Existing Android Code into Workspace.
在自己工程上点击右键,选择Properties>Android,点击添加按钮,把前面导入的google-play-services_lib工程加进来

4          修改AndroidManifest.xml

   <uses-permission android:name="android.permission.INTERNET"/>

   <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />

   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

   <uses-permissionandroid:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

   <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" />

   <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />

   <permission

       android:name="com.travel.trek.permission.MAPS_RECEIVE"

       android:protectionLevel="signature" />

   <uses-permissionandroid:name="com.example.mapdemo.permission.MAPS_RECEIVE" />

   <uses-feature

       android:glEsVersion="0x00020000"

       android:required="true" />

    <!--application 中定义meta-data-->

       <meta-data

           android:name="com.google.android.maps.v2.API_KEY"

           android:value="认证指纹"/>

5          修改layout中的xml

<?xml version="1.0"encoding="utf-8"?>

<fragmentxmlns:android="http://schemas.android.com/apk/res/android"

   android:id="@+id/map"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"

   class="com.google.android.gms.maps.SupportMapFragment" />

6          修改Activity.java
注意:v2和v1的方法不同,v2使用fragment。如果使用不当,也不能正常显示地图

import android.os.Bundle;

importandroid.support.v4.app.FragmentActivity;

 

public class GoogleMapActivity extendsFragmentActivity {

    @Override

    publicvoid onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_google);

    }

}

三、问题及解决

1          问题1:

                     1)             问题:
安装时报错:INSTALL_FAILED_MISSING_SHARED_LIBRARY

                     2)             原因:
有的手机的操作系统精简掉了googlemap库,因此找不到库

                     3)             解决:
获得该手机的root权限,然后将google map库拷进系统库目录。但对于没有root权限的普通用户来说,基本就没办法了。

2          问题2:

                     1)             问题:
进入界面报错:
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable

                     2)             原因:
未将Google PlayService加入应用

                     3)             解决:
在开发环境中加入GooglePlay Service

3          问题3:

                     1)             问题:
进入界面不显示地图,后台显示:Failed to contact Google servers

                     2)             原因:
API Key与当前应用不对应

                     3)             解决:
填写正确对应的API Key

四、相关链接
http://www.blogjava.net/xmlspy/articles/393726.html
https://developers.google.com/maps/documentation/javascript/tutorial?hl=zh-cn

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值