首页 > 代码库 > 针对不同手机系统的LBS地图定位解决方案

针对不同手机系统的LBS地图定位解决方案

原文:针对不同手机系统的LBS地图定位解决方案

摘要:

针对目前的三种手机系统:Android安卓、S60塞班、IOS苹果,做出的三种不同的手机地图应用解决方案。

查阅了多数地图API对手机的支持情况,发现并没有一家能完全覆盖到这三个平台。

 

目前,百度地图API的移动版,即SDK版本,只支持安卓系统一种。那么,如果我要开发苹果系统上的收费应用,或者塞班上的手机应用时,应该如何用地图API来实现呢?

我分别总结了三种情况的解决方案。

----------------------------------------------------

 

Android安卓手机系统

实现方案

百度地图API移动版,即手机SDK

 

方案说明

SDK版本利用GPSwifi和基站三种定位方式的结合。

 

目前系统自带的网络定位服务精度低,且服务不稳定、精度低,并且从未来的趋势看,基站定位是不可控的(移动公司随时可能更改基站编号以垄断定位服务),而wifi定位则不然,它是一种精度更高、不受管制的定位方法。国内其它使用wifi定位的地图软件,wifi定位基本不可用。

 

百度的定位服务量化指标优秀,网络接口返回速度快(达到服务端每次定位响应时间50毫秒以内),精度280米,覆盖率96%,在国内处于一枝独秀的地位。

 

用户需注意,如果在API中使用此功能,必须注册GPS和网络的使用权限。在获取用户位置时,优先使用GPS进行定位;如果GPS定位没有打开或者没有可用位置信息,则判断是否通过wifi连接,如果是,则通过请求百度网络服务,根据wifi热点位置定位;如果否,则通过百度网络服务根据基站信息进行定位。

 

开发文档

SDK开发指南网址:

http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97 

 

SDK类参考:

http://dev.baidu.com/wiki/imap/index.php?title=Android%E5%B9%B3%E5%8F%B0/%E7%B1%BB%E5%8F%82%E8%80%83 

 

=================================

S60塞班手机系统

实现方案

1、静态图API + S60定位插件  

2、百度地图API + S60定位插件

 

静态图使用说明

静态图服务是百度地图API Web服务集合中的一种,它根据所设定的参数,通过标准HTTP协议,返回相应的地图图片。请注意,您无须执行任何“特殊”操作便可在网页上显示此图片。不需要JavaScript。只需构造一个URL网址,并将其放入 <img> 标记中。您就可以将地图放在网页上。

 

用户可控制地图图片的长宽、中心点、地图级别;标注一个或多个标注;标注参数可以是百度经纬度,也可以是地标名称。

 

百度地图API使用说明

百度地图API 适用于任何手机浏览器上。只要是基于S60塞班手机浏览器开发的地图应用,都可以使用百度地图API。用户可采取APP + HTML5的方式进行LBS应用的开发。支持多点触控。

 

另外,S60塞班系统上,可以使用 S60定位插件。定位插件原理与手机SDK定位原理一致。

定位插件分为两类,每个客户端只能使用其中的一种。

1)服务插件(提供定位服务,顺便也会采集定位数据)

2)采集插件(仅进行定位采集,客户端没有定位需求)

 

开发文档

静态图开发指南网址:

http://dev.baidu.com/wiki/map/index.php?title=%E9%9D%99%E6%80%81%E5%9B%BEAPI 

 

API开发指南网址:

http://dev.baidu.com/wiki/map/index.php?title=%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97 


补充:

百度S60的定位插件,有两个接口。一个是CgeoLocation,另一个是CellDC。

该定位服务可返回如下位置信息:

定位服务支持返回百度坐标系的坐标(如果要叠加百度地图底图,必须使用该坐标系)和国测局坐标,WGS84坐标根据国家法规,暂时不予支持。

定位服务支持返回多级地址,但是各个国家不一样,最多划分为9级,每个级别为“街道”、“城市”、“省”等。我们规定这些元素分别为

street_number:              //门牌号码

street:                               //道路名

district:                              //区县

city:                                   //城市

city_code:                           //城市代码

province:                     //省份名称

country:                               //国家

=================================

IOS苹果手机系统

实现方案

1、静态图API + IOS系统的定位功能  

2、百度地图API + IOS系统的定位功能

 

静态图使用说明

静态图服务是百度地图API Web服务集合中的一种,它根据所设定的参数,通过标准HTTP协议,返回相应的地图图片。请注意,您无须执行任何“特殊”操作便可在网页上显示此图片。不需要JavaScript。只需构造一个URL网址,并将其放入 <img> 标记中。您就可以将地图放在网页上。

 

用户可控制地图图片的长宽、中心点、地图级别;标注一个或多个标注;标注参数可以是百度经纬度,也可以是地标名称。

 

地图API使用说明

百度地图API 适用于任何手机浏览器上。只要是基于IOS系统的手机浏览器开发的地图应用,都可以使用百度地图API。用户可采取APP + HTML5的方式进行LBS应用的开发。

注意,IOS系统上只能使用IOS系统自带的定位服务。

 

另外,针对IOS移动平台,1.2版本APIiPhone4上可以展示出更高分辨率的地图。并且支持多点触控。

 

开发文档

API开发指南网址:

http://dev.baidu.com/wiki/map/index.php?title=%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97 

 

静态图开发指南网址:

http://dev.baidu.com/wiki/map/index.php?title=%E9%9D%99%E6%80%81%E5%9B%BEAPI 

 

针对不同手机系统的LBS地图定位解决方案