Android--Google Map API V2使用

一、获取API Key

1、先获取SHA-1 fingerprint

数字证书是有两种,一种是debug,还有release。前者只能用于测试;后者才可以用于实际产品。

debug:在命令行中输入命令:keytool -list -v -keystore
"C:\Users\your_user_name\.android\debug.keystore" -alias androiddebugkey
-storepass android -keypass android

release:替换签名文件路径;替换密码即可

SHA-1
fingerprint也可以在Eclipse中获取,如图:

2、登录网站获取API Key

网址:https://code.google.com/apis/console/ 用Gmail的账户登录,如果是第一次的话,需要创建项目,默认情况会创建一个叫做API
Project的项目。

点击左边的Services,会在中间看到很多的APIs和Services,找到Google Maps Android API
v2,然后把它设置成on,需要接受一些服务条款。

在左边的导航条中选择API Access。在出来的页面中选择Create
New Android Key...就可以生成key了:

3、创建项目

AndroidManifest.xml中声明权限


<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"/>

声明api key


<!-- Google Map Key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="前面申请的key" />
<meta-data
android:name="com.google.android.gms.version"
android:value="4030500" />

由于google maps v2需要opengl es
v2的支持,所以必须在androidmanifest.xml里添加以下元素

<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>

导入google-play-services.jar

加载map要用到SupportMapFragment

SupportMapFragment fragment = SupportMapFragment.newInstance();
getSupportFragmentManager().beginTransaction().add(R.id.ll_map, fragment).commit();

4、添加标记物Marker

默认的Marker

private GoogleMap mMap;
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.addMarker(new MarkerOptions()
.position(new LatLng(0, 0))
.title("Hello world"));

自定义Marker

private static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298);
private Marker melbourne = mMap.addMarker(new MarkerOptions()
.position(MELBOURNE)
.title("Melbourne")
.snippet("Population: 4,137,400")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));

自定义Marker时使用了BitmapDescriptorFactory创建一个自定义的Marker图标,在使用BitmapDescriptorFactory之前先看看先看看它的文档,使用这个类的任何方法之前,你必须做下列操作之一,以确保这个类被初始化:1:从MapFragment或者MapView中添加一个GoogleMap,你可以通过调用GoogleMap.getMap()方法,判断返回是否为空。2:调用 
MapsInitializer.initialize(Context)方法,只要不抛出com.google.android.gms.common.GooglePlayServicesNotAvailableException
GooglePlayServicesNotAvailableException这个异常就可以正常起始化。

还有Marker的点击事件,GoogleMap.setOnMarkerClickListener();
Marker的拖动事件,GoogleMap.setOnMarkerDragListener();(Marker默认是不能拖动的,创建Marker时设置melbourne.setDraggable(true)为可拖动)

点击 Marker时会默认弹出信息窗口Info
Windows,你可以使用InfoWindowAdapter接口,调用GoogleMap.setInfoWindowAdapter()去自定义Info
Windows,InfoWindowAdapter要实现两个方法 getInfoWindow(Marker)和getInfoContents(Marker)。api会先调用getInfoWindow(Marker)方法,如果返回null,再继续调用getInfoContents(Marker)方法,如果继续返回null,api将调用默认的info
windows。info
windows跟marker一样具有点击事件GoogleMap.setOnInfoWindowClickListener()。

时间: 2024-10-12 12:57:41

Android--Google Map API V2使用的相关文章

开发Android Map程序 如何获取 apikey (Google Map API v2)

1. 在Eclise --> preference --> android --> bulid 能够看到缺省的debug keystore:注意,最新版本的Android Eclipse中无需再自己产生MD5 和 SHA1 2. 登录Google网站账户后转到如下网址 https://console.developers.google.com/project/apps~soft-edu/apiui/api?authuser=0:在该页面中点击APIs然后将Google Maps Andr

【转】Android Google Map API使用的八个步骤

Android Google Map API使用的八个步骤 本系列教程将分为两部分,第一部分是指导用户使用Mapview控件进行编程,其中包括了如何获得Google Map API,如何使用该API进行简单的开发,如何获得用户当前所在的位置.第二部分则包括如何在地图上,用第三方的组件库,实现气球式显示若干指定位置的功能. 步骤1 创建新的Android 工程 首先打开eclipse新建立一个Android 工程,其中相关参数设置如下: Project name:MallFinder Build 

google map api v3

<!DOCTYPE html> <html> <head> <script type="text/javascript"> function killerrors() { return true; } window.onerror = killerrors; </script> <meta name="viewport" content="initial-scale=1.0, user-sc

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

Android Google Map v2具体解释:开发环境配置                                       --转载请注明出处:coder-pig 说在前面: 说到地图定位,如今越来越多的社交app都增加了地图和定位的功能模块,用户非常多的时候 也会用到这些东东,比方,到外面吃饭,次次吃饭前都要拍下照片发到朋友圈,定个位,然后发条说说, 炫耀一下自己今天吃了什么高大上的东东,炫耀和攀比心理我懂,只是,一次下班去吃饭,看到一妹子 吃饭,拍照+发朋友圈,足足用了大概

Android Google Map v2详解之:开发环境配置

Android Google Map v2详解之:开发环境配置                                       --转载请注明出处:coder-pig 说在前面: 说到地图定位,现在越来越多的社交app都加入了地图和定位的功能模块,用户很多的时候 也会用到这些东东,比如,到外面吃饭,次次吃饭前都要拍下照片发到朋友圈,定个位,然后发条说说, 炫耀一下自己今天吃了什么高大上的东东,炫耀和攀比心理我懂,不过,一次下班去吃饭,看到一妹子 吃饭,拍照+发朋友圈,足足用了大概20

如何将经纬度利用Google Map API显示C# VS2005 Sample Code

原文 如何将经纬度利用Google Map API显示C# VS2005 Sample Code 日前写了一篇如何用GPS抓取目前所在,并回传至资料库储存,这篇将会利用这些回报的资料,将它显示在地图上,这个做法有两种,最简单的就是直接传值到Google Maps上. 举例来说,当我们知道经纬度后,只要将数据套到以下网址即可. http://maps.google.com/maps?q=25.048346%2c121.516396 在参数q=后面,就可以加上经纬度了. 25.048346是Lati

基于HTML5的Geolocation获取地理位置,配合Google Map API反向地址解析(获取用户真实地址)

html 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 6 <title>Geolocation获取地理位置,配合Google Map API

Java 调用Google Map Api解析地址,解析经纬度实例

Java 调用Google Map Api解析地址,解析经纬度实例 使用google地图的反向地址解析功能,提供一个经纬度得到对应地址,或者给出模糊地址,得到经纬度,放在java后台代码中处理,这个使用的是Google的地理编码服务.一般而言数据量不大的情况使用是不限制的.按照Google官方说法是连续90天请求地理编码服务次数超过2000次就会受到限制,因此可以将这些解析好的地址放在Database中,这样可以避免重复请求同一个地址. JAVA Code: /* * System Abbrev

Google Map API Version3 :代码添加和删除marker标记

转自:http://blog.sina.com.cn/s/blog_4cdc44df0100u80h.html Google Map API Version3 教程:在地图 通过代添加和删除mark标记 lat = 23.14746; lng = 113.34175376; var myLatLng = new google.maps.LatLng(lat, lng); var myOptions = { zoom: 15, center: myLatLng, mapTypeId: google

Google Map API V3开发(2)

3 Google Map API 简介 Google 地图 API 免费提供给用户并且适用于所有网站.Google 地图 API 使您能够使用 JavaScript 将 Google地图嵌入自己的网页中.API 提供了大量实用工具用以处理地图(正如 http://ditu.google.com 网页上的地图),并通过各种服务向地图添加内容,从而使您能够在您的网站上创建功能强大的地图应用程序. 4 帮助资源 ?Google Maps JavaScript API v3 ?中文页面:https://