android_移动编程googleMap

合集下载

Android Google Map API使用的八个步骤

Android Google Map API使用的八个步骤

【IT168技术】当前,Android手机应用的数量日益增多,其中很多应用已成为人们生活中不可缺少的助手。

在众多的Android应用中,其中LBS(基于地理位置的的应用)深受人们的喜爱,主要原因是人们只需要使用手机,就能随时查看自己当前所在的位置,以及所处位置的相关其他信息,商家可以进入更深入的数据挖掘,如推销产品,基于LBS的交友聊天等等。

在本系列教程中,将指导开发者搭建一个简单的LBS应用,其主要功能是找出给定位置附近的商店,并且将这些商店用图标标识出来。

本系列教程的阅读对象为对Android 开发有初步认识的开发者。

本系列教程将分为两部分,第一部分是指导用户使用Mapview控件进行编程,其中包括了如何获得Google Map API,如何使用该API进行简单的开发,如何获得用户当前所在的位置。

第二部分则包括如何在地图上,用第三方的组件库,实现气球式显示若干指定位置的功能。

步骤1 创建新的Android 工程首先打开eclipse新建立一个Android 工程,其中相关参数设置如下:Project name:MallFinderBuild Target: Google APIs Platform – 2.1 API Level 7Application Name: Mall FinderPackage Name: com.shawnbe.mallfinderCreate Activity: MallFinderActivityMinimumSDK: 7如下图所示:步骤2 注册Google Map API key由于在使用google map的时候,需要使用google map api的key,因此需要先注册一个开发者key,可以到如下地址进行注册:/android/add-ons/google-apis/mapkey.html,其中需要我们先产生开发期间的md5 密纹才能完成注册,因此我们先学习如何生成一个MD5密纹。

android平台上google地图在移动互联网中的应用

android平台上google地图在移动互联网中的应用

17
业务场景:附加功能 绘制路线
youtParams: markerLayoutParams.point = endGeo; mMapView.updateViewLayout(mMarkerVie w, markerLayoutParam);
TranslateAnimation routeAnim = new TranslateAnimation(start.x - end.x, 0, start.y - end.y, 0); routeAnim.setDuration(int asAlgorithm); routeAnim.setStartOffset(asAlgorithm+= asAlgorithm);
1. 在 MapView 上添加一个View 2. 保存操作,收录标点数据
Android Google Map Dev
11
业务场景:展示位置 绘制标点
customItemizedOverlay extends ItemizedOverlay<OverlayItem>
(Drawable defaultMarker)
//绘制区域:多边形、圆形、椭圆… canvas.draw* 想要更炫的效果,加入Animation
Android Google Map Dev
16
业务场景:附加功能 绘制路线
List<GeoPoint> Points
GeoPoint startGeo
Projection
youtParams Marker
initialize Paint @Override public void draw(Canvas canvas, MapView mapView, boolean shadow)

一步步教你用Android Google Map1

一步步教你用Android Google Map1

一步步教你用Android Google Map第五步:自定义地图的图层接下来,我们需要为地图多增加一些自定义的功能,比如可以在地图上进行一些标注。

为了实现这样的功能,我们可以继承Overlay这个类,这个类是一个基类,提供了可以在地图上添加图层的基本功能。

而另外的选择是,我们可以继承itemzedOverlay这个类,它提供了一种快捷的方法,可以把标记图片和相关的文本分配给特定的地理位置。

ItemizedOverlay实例可以处理每一个OverlayItem(OverlayItem可以简单理解为在地图上的每一个标记)标记的绘制、放置、单击处理、焦点控制和布局优化。

下面我们看代码:package com.javacodegeeks.android.googlemaps;import java.util.ArrayList;import android.app.AlertDialog;import android.content.Context;import android.graphics.drawable.Drawable;import com.google.android.maps.ItemizedOverlay;import com.google.android.maps.OverlayItem;public class CustomItemizedOverlay extends ItemizedOverlay<OverlayIte m>{private ArrayList<OverlayItem>mapOverlays=new ArrayList<OverlayIte m>();private Context context;public CustomItemizedOverlay(Drawable defaultMarker) { super(boundCenterBottom(defaultMarker));}public CustomItemizedOverlay(Drawable defaultMarker, Context contex t) {this(defaultMarker);this.context=context;}@Overrideprotected OverlayItem createItem(int i) {return mapOverlays.get(i);}@Overridepublic int size() {return mapOverlays.size();}@Overrideprotected boolean onTap(int index) {OverlayItem item=mapOverlays.get(index);AlertDialog.Builder dialog=new AlertDialog.Builder(context);dialog.setTitle(item.getTitle());dialog.setMessage(item.getSnippet());dialog.show();return true;}public void addOverlay(OverlayItem overlay) {mapOverlays.add(overlay);this.populate();}}在这个类中,需要在构造函数中使用Drawable类,这将被用作来绘制一个标记。

Android GoogleMaps基础开发教程

Android GoogleMaps基础开发教程

Android GoogleMaps基础开发教程此教程基于“教程系列十一--安装Android开发工具.pdf”的基础上,请先参考“安装Android开发工具.pdf”文档安装好eclipse开发环境,再学习本教程。

一、注册 Android 地图 API 密钥Android上面的Google Map需要API Key,也就是说只有通过了Key验证,你自己编写的Maps应用才可以下载地图数据,否则会只显示网格,没有半点地图的迹象。

我们一般根据应用程序的keystore的MD5签名来生成API key,我们首先需要使用keytool工具可以获得keystore的获得MD5签名:1、查看debug.keystore位置Android SDK默认生成一个debug.keystore文件,放在用户主目录下的.android文件夹中,.android文件夹一般在C:\Users\Administrator目录下,可以在Eclipse主界面的菜单栏中点击Windows(窗口(W)),然后选择Preferences--->Android--->Build,查看默认的debug keystore位置,上图中的默认的debug keystore位置为:你可以先把这个文件改一下名,我们需要创建一个新的debug.keystore。

2、创建一个新的debug.keystore运行keytool工具(JDK中bin目录下有 keytool工具)命令如下:打开CMD窗口,然后输入:进入.android文件夹,执行命令如下:keytool -genkey -v -keystore debug.key store –alias androiddebugkey -keyalg RSA -validity 10000,然后敲击Enter键。

输入密码,注意密码为6位,为方便记忆,可以输入123456,然后进行用户等信息确认,这里可以随意填写,确认后生成一个debug.keystore。

Android Google Map 开发笔记

Android Google Map 开发笔记

Android Google Map开发笔记Google Map API的使用Android中定义了一个名为com.google.android.map的包,其中包含了一系列用于在google map上显示、控制和叠层信息的功能类,以下是该包中最重要的几个类:1.MapActivity:这个类是用于显示Google Map的Activity类,它需要连接底层网络。

MapActivity是一个抽象类,任何想要显示MapView的activity都需要派生自MapActivity,并且在其派生类的onCreate()中,都要创建一个MapView实例。

2.MapView:MapView是用于显示地图的View组件。

它派生自android.view.ViewGroup。

它必须和MapActivity配合使用,而且只能被MapActivity创建,这是因为MapView需要通过后台的线程来连接网络或者文件系统,而这些线程需要有MapActivity来管理。

3.MapController:MapController用于控制地图的移动、缩放等。

4.OverLay:这是一个可显示于地图之上的可绘制的对象。

5.GeoPoint:这是一个包含经纬度位置的对象。

MapView提供了三种模式的地图,分别可以通过以下方式设置采用什么模式来显示地图。

mMapView.setTraffic(true); //设置为交通模式mMapView.setSatellite(true); //设置为卫星模式mMapView.setStreetView(false); //设置为街景模式通过setBuiltZoomControls方法设置地图是否支持缩放。

MapController的使用【缩放】如果需要设置地图显示的地点以及放大倍数等,就需要使用MapController来控制地图。

可以通过如下代码获得MapController对象:mMapController = mMapView.getController();GeoPoint的使用【定点】—animateTo【移动】要定位地点,需要构造一个GeoPoint来表示地点的经纬度,然后使用animateTo方法将地图定位到指定的GeoPoint上,代码如下://设置起点为成都mGeoPoint = new GeoPoint((int) (30.659259 * 1000000), (int) (104.065762 * 1000000)); //定位到成都mMapController.animateTo(mGeoPoint);Ovelay的使用如果需要在地图上标注一些图标文字等信息,就需要使用Overlay。

Android应用程序开发9.2 Google地图应用

Android应用程序开发9.2 Google地图应用

9.2 Google地图应用
• 9.2.2 使用Google地图
• 在建立工程时将com.google.android.maps的扩展库添加 到工程中,这样就可以使用Google地图的所有功能
• 添加com.google.android.maps扩展库的方式是在创建工 程时,在Build Target项中选择Google APIs
13.
14.
@Override
15.
public void onCreate(Bundle savedInstanceState) {
16.
super.onCreate(savedInstanceState);
17.
setContentView(yout.main);
18.
19.
mapView = (MapView)findViewById(R.id.mapview);
2. <LinearLayout xmlns:android="/apk/res/android"
3.
android:orientation="vertical"
4.
android:layout_width="fill_parent"
5.
android:layout_height="fill_parent">
16.
android:apiKey="0mVK8GeO6WUz4S94z52CIGSSlvlTwnrE4DsiA"/>
17. </LinearLayout>
9.2 Google地图应用
• 9.2.2 使用Google地图

Android——GooleMap的使用

如何获取认证指纹:
首先进入Dos界面:
C:\Users\lilin>cd .android
C:\Users\lilin\.android>keytool -list -alias androiddebugkey -keystore debug.key
store
输入keystore密码:android
androiddebugkey,2011-6-9, PrivateKeyEntry,
认证指纹(MD5):68:59:3F:16:27:2B:E5:12:D2:21:FE:6B:6E:0E:C0:27
C:\Users\lilin\.android>
打开网站:/intl/zh-CN/android/add-ons/google-apis/maps-api-signup.html
}
@Override
protectedbooleaFra bibliotekisRouteDisplayed() {
//TODOAuto-generated method stub
returnfalse;
}
}
AndroidManifest.xml
注意:黄色标注的必须添加的,否则出错!
<?xmlversion="1.0"encoding="utf-8"?>
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<uses-libraryandroid:name="com.google.android.maps"/>

android__google Map

Android Map API使用文档文档编号:名称:编写:编写日期:2010-11-30审核:修改人:审核日期:修改日期:目录1准备工作 (3)1.1申请Android Map API key (3)1.2 创建基于Google APIs AVD (5)1.3 创建基于Google APIs 工程 (6)1.4 连接手机及驱动的安装 (7)2 Google Map API的使用 (8)2.1编写最简单的android谷歌地图应用 (9)2.2在android map overlay中使用图片 (11)3 定位功能 (18)3.1定位API中主要的类 (18)3.2如何进行定位 (18)3.3添加权限 (20)4搜索的使用 (21)1准备工作要想编写Google Map的应用首先需要Google APIs 。

需要在项目中导入Google map api。

默认情况是android某个版本比如android 2.1,现在需要改为对应版本的Google apis,版本要和android版本一致。

在默认的情况下Google API是没有的。

这个google apis是同版本的android超集,包含了google的私有应用api。

比如:这样就可以在项目中使用比如:import com.google.android.maps.MapActivity;1.1申请Android Map API keygoogle需要一个签名指纹的机制,要先到google注册,并把这个指纹包含在应用中,才可以下载到地图信息。

也就是说每次下载地图信息要带着这个指纹信息。

指纹信息的注册和获取都是免费的。

首先,必须要有Google的账号,如果没有可以申请一个,下面是如何申请Android Map API key。

步骤1:找到debug.keystore文件。

使用Eclipse开发时,选择Windows-Preference如图:步骤2:取得debug.keystore 的MD5值在cmd中执行: (可以先定位到jdk的bin目录下)keytool -list -alias androiddebugkey -keystore "C:\Users\hey_Jude\.android\debug.keystore" -storepass android -keypass android01:E4:D2:09:E4:9F:96:3F:B5:79:80:22:C2:37:C7:9F<com.google.android.maps.MapViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:apiKey="0S4StgK_VfPCC6nrszX2fMlDeJbymTsTleEAxyQ"/>双引号中的为你keystore位置,(一定要有双引号),否则就会报错。

基于Google Map的个性化地图在Android系统上的实现

基于Google Map的个性化地图在Android系统上的实现目录第一章实习基本情况 (1)1.1 实习项目与实习单位概况 (1)1.1.1 实习项目简介 (1)1.1.2 实习单位与实习指导老师 (1)1.2 实习过程的基本回顾 (1)1.2.1 实习时间 (1)1.2.2 主要实习内容 (1)1.2.3 主要实习过程 (2)第二章实习任务与完成情况 (3)2.1 本人承担的主要工作 (3)2.2 完成实习任务的技术方案与步骤 (3)2.2.1 相关技术 (3)2.2.2 系统需求分析 (18)2.2.3 系统概要设计 (20)2.2.4 系统详细设计 (23)2.2.5 系统实现与测试 (29)2.3 实习中的问题及解决方法 (37)2.4 实习任务的完成情况 (38)第三章实习总结 (39)3.1 实习的收获与体会 (39)3.1.1 实习的收获 (39)3.1.2 实习的体会 (39)3.2 问题与探讨 (39)参考文献 (41)致谢 (43)第一章实习基本情况1.1实习项目与实习单位概况1.1.1实习项目简介本人参加的实习项目是实现的Web地图服务是基于Android平台开发的,采用的网络地图是Google Maps,该系统可以用来浏览城市的地图,并能对其放大、缩小和移动,同时利用GPS定位技术,实现了自我定位、位置查找和路径跟踪等功能,满足了手机用户基本的地图服务需求,并符合工程实际要求。

1.1.2实习单位与实习指导老师本人实习的单位是杭州天眼教育咨询有限公司,创立于有天堂硅谷美誉的杭州,由来自IBM、CISCO、阿里巴巴、华为等国内外知名IT公司的技术骨干、管理人才创办,直接引进国际先进IT技术,结合中国本土IT企业需求,定制化培养高端IT软件人才。

中心致力于为IT企业培养并输送基于JavaEE/Android/.Net平台、Oracle大型关系数据库、Web和企业级应用的中高级软件人才、电子商务人才、3G/4G开发人才。

轻松学Android开发之GPS定位和Google Maps谷


10.2.4 GooaleMaps地图查询应用
做好之前的准备工作,现在我们可以开发程序,使 用GoogleMaps进行查询。 【示例10-2】下面通过具体案例演示,GooaleMaps 地图查询应用。
10.3 Google街景
Google街景(Google StreetView)服务启动于2007年 5月25日,是Google公司所开发。应用于旗下Google 地图内的一项功能,为用户提供了水平方向360度, 垂直方向290度的立体街道全景。
10.1.2 获取GPS信息
开发程序获取GPS信息分为以下几个步骤: (1)获取LOCATION_SERVICE系统服务。 (2)创建Criteria对象,调用该对象的set方法设置查询条件。 (3)调用LocationManager.getBestProvider(Criteria criteria,Boolean enabledOnly)方法,传入创建好的Criteria对象, 获取最能满足给定标准(Criteria对象)的提供者名称。 (4)调用LocationManager.getLastKnowLocation()方法,传入 提供者名称,获取最后已知位置信息。 (5)调用LocationManager.requstLocationUpdates(),添加 LocationListener监听器。 【示例10-1】下面通过一个具体案例演示,使用Location及相 关类获取GPS信息。
10.2.3 GoogleMaps相关类
在开发Google Maps服务时,会使用到Google API中 的com.google.android.map包。重要的类有以下几个: 1.MapActivity类 2.MapView类 3.MapController类 4.OverLay类 5.GeoPoint类 6.Projection接口
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.1 位置服务

位置服务

下面是CurrentLocationDemo示例中 LocationBasedServiceDemo.java文件的完整代码
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
package edu.hrbeu.LocationBasedServiceDemo; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.widget.TextView; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager;
9.1 位置服务

位置服务

Android支持的系统级服务表
值 location window layout_inflate r power alarm notification keyguard search vibrator connection wifi input_method 返回对象 LocationManager WindowManager LayoutInflater 说明 控制位置等设备的更新 最顶层的窗口管理器 将 XML 资 源 实 例 化 为 View PowerManager 电源管理 AlarmManager 在指定时间接受Intent NotificationManage 后台事件通知 r KeyguardManager 锁定或解锁键盘 SearchManager 访问系统的搜索服务 Vibrator 访问支持振动的硬件 ConnectivityManage 网络连接管理 r WifiManager Wi-Fi连接管理 InputMethodManager 输入法管理
值 LocationManager类 的静态常量 GPS_PROVIDER gps
NETWORK_PROVIDER
netanager的定位方法后,则可以调用 getLastKnowLocation()方法获取当前的位置信息
9.1 位置服务

位置服务

以使用GPS定位为例,获取位置信息的代码如下

通过调用Location中的getLatitude()和getLonggitude() 方法可以分别获取位置信息中的纬度和经度,示例代码 如下
1. double lat = location.getLatitude(); 2. double lng = location.getLongitude();
9.1 位置服务

位置服务



提供位置服务,首先需要获得LocationManager对象 获取LocationManager可以通过调用 android.app.Activity.getSystemService()函数实现 android.app.Activity.getSystemService()函数代码如下
9.1 位置服务

位置服务

LocationManager支持定位方法
说明 使用GPS定位,利用卫星提供精确的位置信息,需要 android.permissions.ACCESS_FINE_LOCATION 用 户 权限 使用网络定位,利用基站或Wi-Fi提供近似的位置信 息,需要具有如下权限: android.permission.ACCESS_COARSE_LOCATION 或 android.permission.ACCESS_FINE_LOCATION.
9.1 位置服务

位置服务


为了使GPS定位功能生效,还需要在 AndroidManifest.xml文件中加入用户许可 实现代码如下
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
9.1 位置服务
Context类的静态常量 LOCATION_SERVICE WINDOW_SERVICE LAYOUT_INFLATER_SERVI CE POWER_SERVICE ALARM_SERVICE NOTIFICATION_SERVICE KEYGUARD_SERVICE SEARCH_SERVICE VIBRATOR_SERVICE CONNECTIVITY_SERVICE WIFI_SERVICE INPUT_METHOD_SERVICE
9.1 位置服务

11. 12. 13. 14. 15. 16. 17. 18.
19. 20. 21. 22. 23. 24.
位置服务
public class LocationBasedServiceDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); String serviceString = Context.LOCATION_SERVICE; LocationManager locationManager = (LocationManager)getSystemService(serviceString); String provider = LocationManager.GPS_PROVIDER; Location location = locationManager.getLastKnownLocation(provider); getLocationInfo(location); locationManager.requestLocationUpdates(provider, 2000, 0, locationListener); }
9.1 位置服务

位置服务



Android平台支持提供位置服务的API,在开发过程中主 要用到LocationManager和LocationProviders对象 LocationManager可以用来获取当前的位置,追踪设备 的移动路线,或设定敏感区域,在进入或离开敏感区域 时设备会发出特定警报 LocationProviders是能够提供定位功能的组件集合,集 合中的每种组件以不同的技术提供设备的当前位置,区 别在于定位的精度、速度和成本等方面
9.1 位置服务

位置服务

代码将产生位置改变事件的条件设定为距离改变10米,时 间间隔为2秒 实现locationListener的代码如下
1. LocationListener locationListener = new LocationListener(){ 2. public void onLocationChanged(Location location) { 3. } 4. public void onProviderDisabled(String provider) { 5. } 6. public void onProviderEnabled(String provider) { 7. } 8. public void onStatusChanged(String provider, int status, Bundle extras) { 9. } 10. };
第9章 位置服务与地图 应用
本章学习目标:

了解位置服务的概念 了解地图密钥的申请方法 掌握获取位置信息的方法 掌握MapView和MapController的使用方法




掌握Google地图覆盖层的使用方法
9.1 位置服务

位置服务



位置服务(Location-Based Services,LBS),又称定 位服务或基于位置的服务,融合了GPS定位、移动通信、 导航等多种技术,提供了与空间位置相关的综合应用服 务 位置服务首先在日本得到商业化的应用 2001年7月,DoCoMo发布了第一款具有三角定位功能 的手持设备 2001年12月,KDDI发布第一款具有GPS功能的手机 基于位置的服务发展迅速,已涉及到商务、医疗、工作 和生活的各个方面,为用户提供定位、追踪和敏感区域 警告等一系列服务
1. String provider = LocationManager.GPS_PROVIDER; 2. Location location = locationManager.getLastKnownLocation(provider);

代码第2行返回的Location对象中,包含了可以确定位置 的信息,如经度、纬度和速度等

位置服务

CurrentLocationDemo是一个提供位置服务的基本示例 ,提供了显示当前位置新的功能,并能够监视设备的位 置变化
9.1 位置服务

位置服务

位置服务一般都需要使用设备上的硬件,最理想的调试 方式是将程序上传到物理设备上运行,但在没有物理设 备的情况下,也可以使用Android模拟器提供的虚拟方 式模拟设备的位置变化,调试具有位置服务的应用程序
locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);

第1个参数是定位的方法,GPS定位或网络定位 第2个参数是产生位置改变事件的时间间隔,单位为微秒 第3个参数是距离条件,单位是米 第4个参数是回调函数,在满足条件后的位置改变事件的 处理函数
相关文档
最新文档