针对不同手机系统的LBS地图定位解决方案
摘要:
针对目前的三种手机系统:Android安卓、S60塞班、IOS苹果,做出的三种不同的手机地图应用解决方案。
查阅了多数地图API对手机的支持情况,发现并没有一家能完全覆盖到这三个平台。
目前,百度地图API的移动版,即SDK版本,只支持安卓系统一种。那么,如果我要开发苹果系统上的收费应用,或者塞班上的手机应用时,应该如何用地图API来实现呢?
我分别总结了三种情况的解决方案。
----------------------------------------------------
Android安卓手机系统
实现方案
百度地图API移动版,即手机SDK。
方案说明
SDK版本利用GPS、wifi和基站三种定位方式的结合。
目前系统自带的网络定位服务精度低,且服务不稳定、精度低,并且从未来的趋势看,基站定位是不可控的(移动公司随时可能更改基站编号以垄断定位服务),而wifi定位则不然,它是一种精度更高、不受管制的定位方法。国内其它使用wifi定位的地图软件,wifi定位基本不可用。
百度的定位服务量化指标优秀,网络接口返回速度快(达到服务端每次定位响应时间50毫秒以内),精度280米,覆盖率96%,在国内处于一枝独秀的地位。
用户需注意,如果在API中使用此功能,必须注册GPS和网络的使用权限。在获取用户位置时,优先使用GPS进行定位;如果GPS定位没有打开或者没有可用位置信息,则判断是否通过wifi连接,如果是,则通过请求百度网络服务,根据wifi热点位置定位;如果否,则通过百度网络服务根据基站信息进行定位。
开发文档
SDK开发指南网址:
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版本API在iPhone4上可以展示出更高分辨率的地图。并且支持多点触控。
开发文档
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