天天看点

位置服务与地图应用

位置服务与地图应用:

位置服务(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请求有两种方式:POST与GET方式

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

POST方式提交:

<a target="_blank" href="http://blog.51cto.com/attachment/201112/195814667.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201112/195831155.png"></a>

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

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

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

<a target="_blank" href="http://blog.51cto.com/attachment/201112/195842243.png"></a>

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

继续阅读