由于工作需要,最近对Android的各大地图进行了试用。

其中有Google地图,百度地图,高德地图,还有开源的OSM。

在使用Google地图的时候,官网流程写的非常清楚,但是其中也遇到一些问题。这里我将我的流程写出来,方便他人。

这个是官方安装地址:https://developers.google.com/maps/documentation/android/start#getting_the_google_maps_android_api_v2

注意,本猫用的是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 开始的更多相关文章

  1. Android Google Maps API 网络服务用于网络定位、计算路线、获取经纬度、获取详细地址等

    extends:http://blog.csdn.net/h7870181/article/details/12505883 Google Maps API 网络服务 官网地址 : https://d ...

  2. Android Google Maps 监听地图缩放

    接上篇.http://www.cnblogs.com/maomishen/p/3556297.html 由于公司项目要求,需要对google map监听地图的缩放(zoom)来进行一些操作. 但是在网 ...

  3. Android系统Google Maps开发实例浅析

    Google Map(谷歌地图)是Google公司提供的电子地图服务.包括了三种视图:矢量地图.卫星图片.地形地图.对于Android系统来说,可以利用Google提供的地图服务来开发自己的一些应用. ...

  4. Google Maps Android API v2 (4)- 地图类型

    地图类型 地图内的谷歌地图的Android API的种类有很多.地图的类型管辖地图的整体代表性.例如,地图集通常包含政治地图,专注于显示边界和道路地图,显示了一个城市或地区的所有道路. Android ...

  5. Google Maps Android API v2 (3)- 地图添加到Android应用程序

    添加地图的基本步骤是: (一旦)按照以下步骤[入门] [开始],获得API,获取密钥所需的属性,并添加到您的Android清单. 添加一个碎片对象 要处理地图的活动.做到这一点最简单的方法是增加一个  ...

  6. Google Maps API v2 Demo Tutorial

    申请API KEY https://code.google.com/apis/console/?noredirect 1. 创建项目,名称随意,只是为了区分 2. 开启Google Maps Andr ...

  7. (6)Xamarin.android google map v2

    原文 Xamarin.android google map v2 Google Map v1已经在2013年的3月开始停止支持了,目前若要在你的Android手机上使用到Google Map,就必须要 ...

  8. Google Maps API V2

    1. 在AndroidManifest.xml的application节点中,添加Google play service的版本号: <meta-data android:name="c ...

  9. Android Google Map v2具体解释:开发环境配置

    Android Google Map v2具体解释:开发环境配置                                       --转载请注明出处:coder-pig 说在前面: 说到地 ...

随机推荐

  1. [18/12/01]super 关键字和final 关键字

    一.super 关键字 1.super是直接父类对象的引用.可以通过super来访问父类中被子类覆盖的方法或属性. 使用super调用普通方法,语句没有位置限制,可以在子类中随便调用. 代码示例: c ...

  2. 论文翻译:XNOR-Net: ImageNet Classification Using BinaryConvolutional Neural Networks

    目录 Abstract 1 Introduction 2 Related Work 3 Binary Convolutional Neural Network 3.1 Binary-Weight-Ne ...

  3. mybatis学习记录六——一对一、一对多和多对多查询

    9       订单商品数据模型 9.1     数据模型分析思路 1.每张表记录的数据内容 分模块对每张表记录的内容进行熟悉,相当 于你学习系统 需求(功能)的过程. 2.每张表重要的字段设置 非空 ...

  4. Html5简单描述(优点与缺点)

    什么是HTML5 HTML5指的是包括HTML.CSS和JavaScript在内的一套技术组合.它希望能够减少网页浏览器对于需要插件的丰富性网络应用服务(Plug-in-Based Rich Inte ...

  5. socket 代码实例

    ​ 1. TCP SOCKET 客户端: #!/usr/bin/env python # -*-coding:utf-8 -*- import socket HOST = 'localhost' PO ...

  6. Javafxml

    FXML入门教程 本部分教程包括两部分内容: 为什么使用FXML(基本介绍以及用FXML创建用户界面的好处): 使用FXML创建用户界面(通过创建简单登录应用来完成本教程部分). 1.1 为何使用FX ...

  7. c# 动态编译继承接口

    c#里面的动态编译我就不讲了,主要的都有了.如果不熟悉我推荐博文 https://www.cnblogs.com/maguoyong/articles/5553827.html 标准的动态编译 这里主 ...

  8. 纯css实现移动端横向滑动列表

    前几天在公司做开发的时候碰到一个列表横向滑动的功能,当时用了iscroll做,结果导致手指触到列表的范围内竖向滑动屏幕滑动不了的问题. 这个问题不知道iscroll本身能不能解决,当时选择了换一种方式 ...

  9. js/jquery 禁用点击事件

    前言 工作中经常遇到这种情况:验证邮箱页面的重新发送需要在3分钟后才可以点击触发请求,所以在这之前需要禁用他的点击. 网上查了后有以下几种实现方法 1.css禁用鼠标点击事件 .disabled { ...

  10. js解决异步的方法汇总

    参考:https://www.cnblogs.com/zuobaiquan01/p/8477322.html 一.callback回调函数 回调是一个函数被作为一个参数传递到另一个函数里,在那个函数执 ...