位置服务与地图应用


位置服务与地图应用:

位置服务(Location Based Services,LBS)又称为服务或基于位置的服务。Andorid平台支持提供位置服务的API,在开发过程中主要用到LocationManager LocationProviders对象。

 

为开发能够提供位置服务,首先需要得到LocationManager对象,获取方法如下:

String serviceString = Context.LOCATION_SERVICE;

LocationManager  locationManager = (LocationManager)getSystemService(serviceString);

以上代码第二行函数,可以获取Android提供的系统级服务。第一行指明的是获取的服务是位置服务。

 

ANDROID支持的系统级服务如下:

LOCATION_SERVICE:控件位置等服务

WINDOW_SERVICE:最顶层的窗口管理器

LAYOUT_INFLATER_SERVICE:XML资源实例化为VIEW

POWER_SERVICE:电源管理

ALARM_SERVICE:在指定时间接受INTENT

NOTIFICATION_SERVICE:后台事件通知

KEYGUARD_SERVICE:锁定或解锁键盘

SEARCH_SERVICE:访问系统的搜索服务

VIBRATOR_SERVICE:访问支持振动的硬件

CONNECTIVITY_SERVICE:网络连接管理

WIFI_SERVICE:Wi-Fi连接管理

INPUT_METHOD_SERVICE:输入法管理

 

在获取到LocationManager后, 还需要指定LocationManager的定位方法,然后才能够调用 LocationManager.getLastKnowLocation()方法获取当前位置。目前LocationManager支持的定位方法有如下两种:

1.GPS定位:可提供更加精确的位置信息,但定位速度和质量受到卫星数量和环境情况的影响;

2.网络定位:提供的位置信息精度较差,但速度较GPS定位快,LocationManager支持定位方法如下表:

 

LocationManager   

 

 

             

说明

GPS_PROVIDER

使用GPS定位,利用卫星提供精确的位置信息,需要权限:
android.permissions.ACCESS_FINE_LOCATION用户权限。

 

NETWORK_PROVIDER

使用网络定位,利用基站 WIFI提供挖的位置信息,需要具有如下权限:
android.permissions.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION

 

 

模拟HTTP请求

HTTP请求有两种方式:POSTGET方式

JAVAANDROID中都用HttpURLConnection来解析使用HTTP请求,ANDROID中也是如此的。呵呵。。

POST方式提交:

 

 

位置服务与地图应用

 

 

位置服务与地图应用

访问网络数据时应该在全局文件中加个:可以访问INTERNET的权限哦,不然会报到 错的。

 

 

ANDROID中也可以通过HTTPClient来模拟HTTP请求哦,使用更方便的。

HttpClient http = new DefaultHttpClient();………………………HttpClient是一个接口哦.

 

 

位置服务与地图应用

 

 

 

     本文转自华华世界 51CTO博客,原文链接:http://blog.51cto.com/mzh3344258/733375,如需转载请自行联系原作者