准备:
Google Maps Android API v2开发谷歌地图,可以使用普通版本的api ,不需Google APIs。但需要安装google play 服务、google play 商店。
安装可以通过豌豆荚,也可以通过cmd命令:adb install
Google Maps Android API v2 开发笔记
Google Maps Android API v2 开发笔记
使用cmd命令时需要打开虚拟机才可以安装。
 
开发环境:
android4.0 ,jdk1.6
 
开发流程:
 
一、获取Api key
通过eclipse,Window->Preferences->Android->Build->Default debug keystore查看debug.keystore的位置。
Google Maps Android API v2 开发笔记
 Google Maps Android API v2 开发笔记
 
cmd命令进入目录,运行keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android,得到证书指纹。
Google Maps Android API v2 开发笔记
 Google Maps Android API v2 开发笔记
 
用Gmai用户,进入网址https://code.google.com/apis/console/
在Services下,找到Google Maps Android API v2,并把它设置成on。
Google Maps Android API v2 开发笔记Google Maps Android API v2 开发笔记
Google Maps Android API v2 开发笔记Google Maps Android API v2 开发笔记
 
在API Access 下,点击Create new Android key..
Google Maps Android API v2 开发笔记Google Maps Android API v2 开发笔记
 
输入前面得到的证书指纹,(别忘了后面的分号加包名,也就是你项目的包名)
Google Maps Android API v2 开发笔记
 
最后可以看到 API key
Google Maps Android API v2 开发笔记
 
编写应用程序:
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"/>
 
AndroidManifest.xml
1、在 <application> 里面节点加入api key ,your_api_key是上面申请的密匙
<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="your_api_key"/>
2、加入权限
<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.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
     Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
3、加入<users-feature>元素
<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
 
MainActivity.java
public class MainActivity extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
 
常见问题:
1、java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader
 
Google Maps Android API v2 开发笔记
 
fragment是android 3.0 才引入的概念,使用更低版本时,需要使用Support Library
布局文件中,把MapFragment改为SupportMapFragment。
MainActivity继承自FragmentActivity而不是Activity。
 
2、java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
 
Google Maps Android API v2 开发笔记Google Maps Android API v2 开发笔记
 
 
这个问题的原因是 gen目录下没有 com.google.android.gms.R 这个类,下面是导入这个包的方法:
eclipse下点击 File->import->android-> Existing Android Code Into Workspace
Google Maps Android API v2 开发笔记
然后选择browse,把google-play-services_lib导入,位置在android SDK 安装目录下的 ..\extras\google\google_play_services\libproject\google-play-services_lib。
下面的Copy project into workspace 也要勾上。
Google Maps Android API v2 开发笔记
 
完成后回到项目,右击->properties->android->add->把刚才的google-play-services_lib添加进去。
Google Maps Android API v2 开发笔记
 
最后gen目录下就有个com.google.android.gms这个包
Google Maps Android API v2 开发笔记
 
3、如果出现 + — 号,屏幕一片白色,可能是api key 错误,或者是包名有错,可以到 https://code.google.com/apis/console/ 重新申请密匙。
 
参考文章:

http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html

https://developers.google.com/maps/documentation/android/start

 

相关文章: