1、安装Google Play services SDK
打开Android SDK Manager,安装和更新Extras下的Google Play services即可。
2、安装Google Play Store和Google Play services
见附件中的com.android.vending.apk和com.google.android.gms.apk。
3、获取API Key
请参考:Google Map Android API V2中API Key的生成
4、修改AndroidManifest.xml
1)在<application>元素中加入子标签:
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyAhyvAAt3rdR8ATIH2VKlLzjhb9ICDy3UM" />
将其中的android:value换成自己申请的API Key。
2)加入许可信息
<permission android:name="com.example.demo.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.example.demo.permission.MAPS_RECEIVE" />
将其中的com.example.demo换成自己的包名。
3)加入其它许可设置
<uses-permission android:name="android.permission.INTERNET" /> <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" />
4)加入OpenGL ES V2特性的支持
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
5、加载Google Play services类库
在Eclipse里选择:File > Import > Android > Existing Android Code Into Workspace,然后点击Next,找到路径下的/Users/jsntghf/Projects/adt-bundle-mac-x86_64-20130219/sdk/extras/google/google_play_services/libproject/google-play-services_lib,最后点击Finish。
6、添加对Google Play services类库的引用
在项目上右键,选择Properties,左边选择Android,然后在下面的Library里添加刚才的google-play-services_lib。
7、显示地图
1)布局文件
<?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/mapview" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment"/>
2)MainActivity.java
package com.example.demo; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; import android.os.Bundle; import android.app.Activity; import android.app.Dialog; import android.support.v4.app.FragmentActivity; import android.view.Menu; public class MainActivity extends FragmentActivity { private GoogleMap googleMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int status = GooglePlayServicesUtil .isGooglePlayServicesAvailable(getBaseContext()); if (status != ConnectionResult.SUCCESS) { int requestCode = 10; Dialog dialog = GooglePlayServicesUtil.getErrorDialog(status, this, requestCode); dialog.show(); } else { SupportMapFragment fm = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.mapview); googleMap = fm.getMap(); LatLng sfLatLng = new LatLng(-43.507227, 172.72233); googleMap.moveCamera(CameraUpdateFactory.newLatLng(sfLatLng)); if (googleMap != null) { googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); googleMap.getUiSettings().setCompassEnabled(true); googleMap.getUiSettings().setZoomControlsEnabled(true); googleMap.getUiSettings().setMyLocationButtonEnabled(true); googleMap.addMarker(new MarkerOptions() .position(sfLatLng) .title("New Brighton") .snippet("New Brighton") .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))); googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom( sfLatLng, 15)); googleMap.animateCamera(CameraUpdateFactory.zoomIn()); googleMap .animateCamera(CameraUpdateFactory.zoomTo(10), 2, null); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
效果图:
相关推荐
实现通过GPS或NetWork获取当前位置的经纬度,并且在Google Map Android v2上显示
Android Google Map v2,继承FragmentActivity 使用MapFragment实现定位 源代码!源工程!
google map v2版本下的地图定位,可是有问题,在有的手机上面可以显示地图,有的手机上面就不能显示地图
2013年更新的google map api v2致使原来的很多类都不能使用了,本人经过研究和翻看api文档整理并写了这个程序,实现了了位置获取,通过地名获取经纬度,输入目的地进行导航路线获取,异步数据处理等功能
GetMeBackToMyFirstLocationProject 使用Google Play服务将Android Studio Project中的Google Map v2集成
一个简单的Android实现GoogleMapApi v2展示Demo,注意:需下载安装Google Play ,需自己在google官方申请地图API Key, 需依赖google-play-services_lib作为类库(google-play-services_lib已有)
其中FindFriend中的google map最难实现,因为google map v2版本例子很少,确实实现这个例子花了不少周折。这是我初经学android是看的书,但是里边的例子大多已经过时,google 不再支持一些函数接口了,所以我特地用...
#Description 这是一个关于如何在您的 android 应用程序上运行 Google 地图的快速示例。 为数不多的第一次就搞定的令人困惑的部分之一。 所以为了节省其他人的时间,我创建了这个文档没有涵盖并且 StackOverflow ...
GoogleMapDemo是一个简单的基于Google Maps Android API v2的demo并实现了通过...【注意:】运行此demo项目前,需要在AndroidManifest.xml设置你自己的googleMap key和相应的keystore,否则运行后地图显示一片空白。
易于使用的库可在 Android 中的 Google Maps v2 上获取和显示行车路线。 该库为您提供方向并在地图上显示路线。 仅适用于 Google 地图 v2 用法 GoogleMap map = getMap(); Navigator nav = new Navigator(map,...
安卓手机上的GoogleMap应用的开发,对于Android的支持也已经升级到V2版本,虽然Google说继续对V1版提供服务,但是不再提供API Key的申请。这是V2版本下的一个小例子,没有特别多的功能,就是简单的实现定位和导航...
Google Maps Android API v2 Samples Samples demonstrating how to use Google Maps Android API v2. This repo contains the following samples: ApiDemos: A collection of small demos showing most features ...
谷歌地图V2 这是谷歌地图第 2 版在 Android 中的演示应用程序。 它包括通过纬度和经度的标记当前位置位置。
此应用程序使用 Google Map Android API V2 和 Google Places API 等 Google 服务。 此应用程序在 Eclipse (4.2.1) 中开发,使用 ADT 插件 (23.0.0) 和 Android SDK (23.0.0),并在 Android 4.1.0 的真实设备上...
此Android应用程序将演示Google Map v2的常用功能,例如绘图,与我的位置绑定,动画,屏幕上的xy坐标与经纬度之间的映射。 您可以将其用作GIS应用程序开发的参考。 预览和杂项 ![Demo1]( ) 执照 MIT许可证(MIT...
带有自动定位和 5 个固定引脚的 GoogleMap 包含可拖动 ImageView 的简单片段,单击即可翻转动画 对于地图正确工作需要在清单中粘贴您的 Google Map API KEY: <meta-data android:name=...
适用于Android的Google Maps SDK示例 演示如何使用示例。 此仓库包含以下示例: ... 如果您发现适用于Android v2的Google Maps Platform SDK出现问题,请在此处查看资源: : 如果您在这些示例中发现错误,请提出
这主要处理两个方面,使用位置 API 不断获取用户位置并在 GoogleMap 中显示经纬度位置 有助于理解 使用融合提供程序的 Android 位置 谷歌地图 Android API v2 地图上的标记 融合位置提供者 简单的 API:让您指定...