Android google map的应用有:
1.我的位置:在地图上显示你的当前位置(通常在1000米范围内)。即使没有GPS,你也可以确定自己的位置。Google手机地图还支持内在GPS,也可以链接到蓝牙GPS传感器,以便更加准确定位用户的位置。“我的位置”的功能通过识别你附近无线发射塔的信息广播而确定你的位置的。
2.地图和卫星视图:Google手机地图可以向你提供所查地区的地图和卫星视图,器界面的使用感觉与你在台式机上相同。可沿着其中一个方向滚动,以查看地图上更多内容,或可以使用快捷键进行缩放。
3.商户列表:借助Google的本地搜索,可以按名称(如“星巴克”)或类型(如“咖啡”——搜索商家,查看商店的营业时间和评分,然后,只需点击一下即可拨通感兴趣的商家的电话。有了“我的位置”功能,甚至都不用输入当前位置即可方便的找到附近的商家。
4.驾车路线:可以很方便的获得驾车路线,其中会很清楚地标识每次转弯。有了“我的位置”功能,甚至都不需要输入出发点。
5.公交换乘:查看公交和地铁线路,确定转车路线,制定你在全球80个城市的出行计划。
6.路况信息:Google地图上的公路会根据实时的路况数据,以绿色,黄色或红色显示。
7.收藏夹:为你常去的地方加上书签,以便能在地图上非常方便地返回到这些地方。
Android Gps 定位功能:
全球定位系统(Global Positioning System,GPS),重要的功能类:
LocationManager:本类提供访问定位服务的功能,也提供获取最佳定位提供者的功能。另外,临近警报功能也可以借助该类来实现。
LocationProvide:该类是定位提供者的抽象类。定位提供者具备周期性报告设备地理位置的功能。LocationListener:提供地位信息发生改变时的回调功能。必须事先在定位管理器中注册监听器对象。
Criteria:该类使得应用能够通过在LocationProvider中设置的属性来选择合适的定位提供者。
Geocoder:用处理地理编码和反向地理编码的类。地理编码是指将地址或者其他描述转变为经度和纬度,反向地理编码是将经度和纬度转变为地址或描述语言,其中包含了两个构造 函数,需要传入经度和纬度的坐标。getFromLocation方法可以得到一组关于地址的数组。
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
注册:locationManager.requestLocationUpdate(LocationManager.GPS_PROVIDER,1000,0,locationManager);其中第一个参数是设置服务提供者,可以是network也可以是gps,第二个参数是定时单位为毫秒,最后一个参数locationManager,用于监听位置变化和gps的变化:
onLocationChanged(Location location):当坐标改变时触发次函数,如果Provider传进相同的坐标,它就不会触发,获取经纬度就从这里获取。
onProviderDisabled(String provider):Provider GPS被关闭。
onProviderEnabled(Sting provider):Provider GPS被打开。
onStatusChanged(String provider, int status, Bundle extras):Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数。
Android Google Map步骤:一、申请google Maps API key要有一个Google账号或Gmail的账号。
1.找到你的debug.keystore文件在Eclipse工具下,选择windows-->Preference-->Android-->Build,debug keystore的值便是debug.keystore的路径了。

2.首先cmd命令行进入执行命令:Cd C:\Documents andSettings\Administrator\.androidkeytool -list -keystore debug.keystore,默认的密码是android,输入回车可取得MD5值。

3.申请Android Map 的API Key.打开火狐浏览器,输入网址:http://code.google.com/android/maps-api-signup.html,填入你的认证指纹(MD5)即可获得apiKey了,结果显示如下:

二.Google Map API的使用应用com.google.android.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:这是一个包含经纬度位置的对象。
三.实例开发
1.创建工程,注意SDK旋转为"Goolge APIs”
2.修改AndroidManifest.xml文件在application节点中添加<uses-libraryandroid:name="com.google.android.maps" />
添加权限<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />可能还需要添加其他权限。例如:
AndroidManifest.xml <?xml version="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.feige"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon"android:label="@string/app_name">
<uses-library android:name="com.google.android.maps" />
<activityandroid:name=".FeigeMap"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permissionandroid:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-sdk android:minSdkVersion="7" />
</manifest>
3.创建MapViewmain.xml <?xml version="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.android.maps.MapView
android:id="@+id/mv"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="自己上面申请的密钥"/>
</RelativeLayout> 当然,可以在程序中通过如下代码来创建MapView:MapView map = new MapView( this,"(android maps api key)");
4.实现MapActivitymMapView.setTraffic(true); //设置为交通模式
mMapView.setSatellite(true); //设置为卫星模式
mMapView.setStreetView(true); //设置为街景模式通过
setBuiltZoomControls方法设置地图是否支持缩放。
5.MapController的使用如果需要设置地图显示的地点以及放大倍数等,就需要使用MapController来控制地图。可以通过如下代码获得MapController对象:mMapController =mMapView.getController(); 要定位地点,需要构造一个GeoPoint来表示地点的经纬度,然后使用animateTo方法将地图定位到指定的GeoPoint上,代码如下:mGeoPoint = new GeoPoint((int) (31.203713* 1E6), (int)
(121.553782 * 1E6));
mMapController.animateTo(mGeoPoint);
6.Ovelay的使用如果需要在地图上标注一些图标文字等信息,就需要使用Overlay。这里我们首先要将地图上的经度和纬度转换成屏幕上的实际坐标,才能将信息绘制上去。Map API中提供了Projection.toPixels(GeoPoint in,GeoPoint out)方法,可以将经度和纬度转换成屏幕上的坐标。首先需要实现OverLay中的draw方法才能在地图上绘制信息,代码如下:
public class ArrowOverLay extends Overlay{
Bitmap bmpArrow; GeoPoint gp; publicArrowOverLay(Bitmap bmpArrow, GeoPoint gp) { super(); this.bmpArrow =bmpArrow; this.gp = gp; } @Override public void draw(Canvascanvas, MapView mapView, boolean shadow) { // TODOAuto-generated method stub super.draw(canvas,mapView,
shadow); if (!shadow) { Projection proj = mapView.getProjection(); Point p = newPoint(); //将地理坐标转化为屏幕坐标 proj.toPixels(gp, p); canvas.drawBitmap(bmpArrow, p.x - bmpArrow.getWidth() / 2, p.y - bmpArrow.getHeight(), null); } }} LocationListener listener = new
LocationListener(){ @Override //Provider的转态在可用、暂时不可用和无服务三个状态直接切换时触发此函数 public voidonStatusChanged(String provider, int status, Bundle extras) { } @Override //Provider被enable时触发此函数,比如GPS被打开 public voidonProviderEnabled(String provider) { } @Override //Provider被disable时触发此函数,比如GPS被关闭
public voidonProviderDisabled(String provider) { } @Override //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发 public voidonLocationChanged(Location location) { openGps(); try{ update(location); } catch(IOException e) { // TODOAuto-generated catch block e.printStackTrace();
} } }; public voidupdate(Location lt) throws IOException { if (lt != null) { try{ doublelatitude = lt.getLatitude(); doublelongitude = lt.getLongitude(); updateMapView(latitude, longitude) } catch(Exception e) { } } } //更新地图 public voidupdateMapView(doubledLat,
doubledLong) { GeoPoint gp = newGeoPoint((int)(dLat* 1E6), (int)(dLong* 1E6)); //显示缩放按钮 mv.displayZoomControls(true); //将地图移动到指定的地理位置 controller.animateTo(gp); List<Overlay> li = mv.getOverlays(); li.add(new ArrowOverLay(bmpArrow, gp)); }
7运行程序



分享到:
相关推荐
总的来说,这个“Android手机地图系统”项目涵盖了Android开发中的多个核心知识点,包括Google Maps API的使用、位置服务、地图标记、路径规划和离线地图。通过深入学习和实践这个项目,开发者不仅可以掌握Android...
总的来说,Android手机地图调用涉及到多个步骤,从集成API到实际地图操作,再到高级功能的实现。理解并熟练掌握这些知识点,将使你能够创建出功能丰富的地图应用。在实践中不断尝试和学习,你将成为Android地图开发...
【Android手机地图】是一款基于Android平台的自研应用,它集成了多项实用功能,包括导航、定位、地图显示模式切换以及地点搜索等。这个毕业设计项目展示了开发者在Android开发领域的技术实力,尤其在地理位置服务...
【Android手机地图源码详解】 本资源提供了一个优秀的Android手机地图源码,它可以帮助开发者快速地集成地图功能到自己的应用程序中,从而极大地缩短了开发周期。这个源码库特别适用于那些需要在移动应用中实现地图...
"Android手机地图应用开发毕业设计" Android手机地图应用开发毕业设计是基于高德地图的GPS定位系统,包括两个主要程序:跟踪者程序和被跟踪者程序。跟踪者程序包括五个模块:我的位置,对方的位置,同时显示两人...
" Android 手机地图应用开发毕业设计" Android 手机地图应用开发是当前移动互联网时代的热门话题之一,涉及到计算机、通信、地理信息等多个领域。下面是 Android 手机地图应用开发的相关知识点: 一、手机地图...
【Android手机地图通信】是关于在Android平台上开发地图应用的技术详解。随着移动通信与互联网的融合,Android操作系统凭借其开源特性和丰富的功能,已经成为手机操作系统的重要选择。Android平台由Linux内核、Java...
"android手机地图应用开发大学本科毕业论文.doc" android手机地图应用开发大学本科毕业论文.doc,以下是本文中所涉及到的关键知识点: 一、移动终端定位技术 移动终端定位技术是指利用移动设备的GPS、WLAN、基站...
根据提供的文件内容,以下是对“基于Android手机地图的实现”的知识点的详细说明: ### Android平台与手机地图开发 Android是Google开发的一款开源智能手机操作系统,它建立在Linux内核基础之上。Android系统由操作...
Android手机地图应用开发是移动应用领域的一个重要分支,它为用户提供方便、快捷的地理定位、路线规划等功能。本文旨在探讨如何基于Android平台,利用高德地图API开发一个实用的手机地图应用,以满足用户在日常生活...
基于Android手机地图服务系统的设计与实现,硕士毕业论文题目,详细阐述了通过百度地图来定位终端
Android手机地图,•搜索周边美食、酒店、在线预定 •合理路线规划,免费语音导航 •最新团购优惠折扣信息
【Android手机版百度地图】 在移动应用开发领域,尤其是在Android平台上,使用百度地图API来构建地图应用是一项常见的任务。本文将详细解析如何通过编程实现“Android手机版百度地图”的核心功能,包括附近查询、...
在Android手机地图的设计中,整体设计包括用例描述和类图,确保功能的逻辑清晰。接口设计是连接各个模块的关键,数据库设计则关乎数据的存储和检索效率。具体功能设计如用户登录、注册、位置查询、路线查询和天气...
### 基于Android手机的地图应用设计与开发 #### 一、引言 近年来,随着3G网络乃至后续4G、5G网络的普及和发展,移动终端已经不仅仅是传统的通讯工具,而是逐渐演变为多功能的互联网接入设备。在这个背景下,移动...
首先你需要判断手机中有没有安装地图应用,在这里提供一个方法: 判断手机是否安装某一应用 上述的packagename是你要检测的应用的包名,怎么查看包名请自行百度哈! 判断好之后,我们可以定义,当有地图应用的时候...
基于Android平台的手机地图设计文档主要涵盖了Android平台的基础知识、百度地图API的申请与使用,以及手机地图应用的各个模块设计与...通过这些模块的组合,可以构建出一款功能完备、用户友好的Android手机地图应用。