Android Google Maps 开始
由于工作需要,最近对Android的各大地图进行了试用。
其中有Google地图,百度地图,高德地图,还有开源的OSM。
在使用Google地图的时候,官网流程写的非常清楚,但是其中也遇到一些问题。这里我将我的流程写出来,方便他人。
注意,本猫用的是ADT,所以,之后的搭建方法,均是Eclipse下的,使用Android studio的朋友,本文不适合你们……
#0,搭建Android环境。
这个。。。如果不会,请在网上搜索,很多详细的安装教程。
给大家一个官方的链接地址:http://developer.android.com/sdk/index.html
#1,下载和配置Google Play services SDK。
很多人在搭建了Android环境后,并没有下载和配置Google Play services SDK,因为很多的开发并不需要它的支持。下面我们介绍如何下载和配置。
先给出官方的连接地址:http://developer.android.com/google/play-services/setup.html
首先,打开Eclipse,点击Android SDK Manager。
之后选择“Extras”,找到下面的Google Play services和Google Repository,安装他们。安装完成后,应该如下图一样,Status显示的为Installed。
至此,我们已经下载完成了。
下面,我们需要将下载的东东导入到Eclipse中,因为它是通过Android的库引用的,而不是直接使用一个jar包。
导入项目。点击File-->Import。
选择“Existing Android Code Into Workspace",点击next。
找到下载的google play services,并将其导入。其路径,在你的"SDK Manager.exe"同级目录的sdk\extras\google\google_play_services\libproject\google-play-services_lib下。
比如,我的是:D:\adt-bundle-windows\sdk\extras\google\google_play_services\libproject\google-play-services_lib。
之后选择项目,然后请务必勾选"Copy projects into workspace"选项,如果不勾选,则在后面项目引用时,会出现找不到文件等错误。最后,点击finish。
导入后,有可能出现错误:Unable to resolve target 'android-9'。这时,打开项目中的”project.properties”,将target=android-9修改为你对应的版本。
如果不知道修改为多少,在Window-->Preferences中,选择Android,在右边就可以看到了。
#2,建立测试项目GoogleMaps.
现在,建立一个项目,命名为GoogleMaps,具体如何建立。。。不用说了吧。。。很简单的。。。
在GoogleMaps上点击右键,选择Preferences。选择Android,在右边的Library中选择Add,在弹出的对话框中选择google-play-services_lib,然后点击OK,再点击OK。
至此,项目新建并且引用完成。
#3,申请Google Maps API Key.
照旧,先给出官方的教程方法:https://developers.google.com/maps/documentation/android/start#obtain_a_google_maps_api_key
首先,访问:https://code.google.com/apis/console/?noredirect。在其中选择Services。
注意,没有账号之类的,请自行注册,这个这里不做讲解。成功登陆后,就是下图的样子。
找到其中的Google Maps Android API v2项,确保它已经打开。没有打开请点击那个OFF滑动按钮打开它。
之后,点击"API Access",选择Create new Android Key。
这里,我们回到Eclipse,在Window-->Preferences中,选择Android下面的Build,在右边就可以看到SHA1的值了。如果找不到这个界面,请看#1的最后一步。
下面,我们再回到网页,在这里输入刚刚查询到的"SHA1"码加上一个分号加上你刚刚创建的项目的包名。
注意,包名后面没有分号。点击Create。
这时,等待1到2秒,这时,就会出现Android的API key了。
到这里,申请Key完成。
#4,完善测试项目GoogleMaps.
首先,打开AndroidMainfest.xml文件。在其中添加如下代码。
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" /> <uses-feature
android:glEsVersion="0x00020000"
android:required="true" /> <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" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
在其中的application节点下,添加如下代码。
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="就是#3申请到的Android API Key" />
打开activity_main.xml文件。将其修改为:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" /> </RelativeLayout>
然后,运行就可以了。
到此,在Android上就可以看到地图出现了。下面是效果图。
Android Google Maps 开始的更多相关文章
- Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等
extends:http://blog.csdn.net/h7870181/article/details/12505883 Google Maps API 网络服务 官网地址 : https://d ...
- Android Google Maps 监听地图缩放
接上篇.http://www.cnblogs.com/maomishen/p/3556297.html 由于公司项目要求,需要对google map监听地图的缩放(zoom)来进行一些操作. 但是在网 ...
- Android系统Google Maps开发实例浅析
Google Map(谷歌地图)是Google公司提供的电子地图服务.包括了三种视图:矢量地图.卫星图片.地形地图.对于Android系统来说,可以利用Google提供的地图服务来开发自己的一些应用. ...
- Google Maps Android API v2 (4)- 地图类型
地图类型 地图内的谷歌地图的Android API的种类有很多.地图的类型管辖地图的整体代表性.例如,地图集通常包含政治地图,专注于显示边界和道路地图,显示了一个城市或地区的所有道路. Android ...
- Google Maps Android API v2 (3)- 地图添加到Android应用程序
添加地图的基本步骤是: (一旦)按照以下步骤[入门] [开始],获得API,获取密钥所需的属性,并添加到您的Android清单. 添加一个碎片对象 要处理地图的活动.做到这一点最简单的方法是增加一个 ...
- Google Maps API v2 Demo Tutorial
申请API KEY https://code.google.com/apis/console/?noredirect 1. 创建项目,名称随意,只是为了区分 2. 开启Google Maps Andr ...
- (6)Xamarin.android google map v2
原文 Xamarin.android google map v2 Google Map v1已经在2013年的3月开始停止支持了,目前若要在你的Android手机上使用到Google Map,就必须要 ...
- Google Maps API V2
1. 在AndroidManifest.xml的application节点中,添加Google play service的版本号: <meta-data android:name="c ...
- Android Google Map v2具体解释:开发环境配置
Android Google Map v2具体解释:开发环境配置 --转载请注明出处:coder-pig 说在前面: 说到地 ...
随机推荐
- SPOJ 694 不同子串个数
一个论文题,求一个字符串有多少个不同的子串. 每个字符串可以看做一个后缀的前缀,然后,就转换为求每一个后缀中,不同的子串有多少. 每一个后缀,根据长度,可以提供len - sa[i] 个子串,但是,画 ...
- POJ 1330 Nearest Common Ancestors 【LCA模板题】
任意门:http://poj.org/problem?id=1330 Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000 ...
- apache php 与nginx php 的区别
apache是通过mod_php来解析php nginx是通过php-fpm(fast-cgi)来解析php 1. PHP 解释器是否嵌入 Web 服务器进程内部执行 mod_php 通过嵌入 PHP ...
- Css 截取字符串长度
.shortNameShow{ overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowr ...
- 重写viewWillAppear 和 viewWillDisAppear时[super viewWillAppear] 和 [super viewWillDisappear]的调用位置
参考网址:https://stackoverflow.com/questions/3906704/when-should-i-call-super 在写代码的过程中如果重写了viewWillAppea ...
- Angularjs基础(二)
AngularJS 表达式 AngularJS 表达式写在双大括号内:{{expression}} AngularJS 表达式把数据绑定到HTML,这与ng-bind 指令有异曲同工之妙 Angula ...
- ABAP术语-EDI (Electronic Data Interchange)
EDI (Electronic Data Interchange) 原文:http://www.cnblogs.com/qiangsheng/archive/2008/01/29/1057386.ht ...
- ABAP术语-ALE
ALE 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/13/993351.html Application Link Enabling (A ...
- 蓝图(Blueprint)详解
Blueprint 模块化 随着flask程序越来越复杂,我们需要对程序进行模块化的处理,针对一个简单的flask程序进行模块化处理 举例来说: 我们有一个博客程序,前台界面需要的路由为:首页,列表, ...
- LeetCode 删除链表倒数第N个节点
基本思路 定义两个指示指针a b 让a先行移动n+1个位置 若a指向了NULL的位置,则删除的是头节点(由于走过了n+1个节点刚好指在尾部的NULL上) 否则让b与a一起移动直至a->next, ...