针对不同手机系统的LBS地图定位解决方案-阿里云开发者社区

开发者社区> 杰克.陈> 正文

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

简介: 原文:针对不同手机系统的LBS地图定位解决方案 摘要: 针对目前的三种手机系统:Android安卓、S60塞班、IOS苹果,做出的三种不同的手机地图应用解决方案。 查阅了多数地图API对手机的支持情况,发现并没有一家能完全覆盖到这三个平台。
+关注继续查看
原文:针对不同手机系统的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 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Gradle 使用技巧(四) - 如何定位和解决依赖冲突
1. 前言 随着业务的复杂度加深,我们免不了要引入许多的第三方开源库,也不可避免的会出现依赖冲突的错误。最常见的是V7、V4包之间的冲突。 2. 如何定位依赖冲突 解决依赖冲突很简单,难得是如何去定位是引入的哪个库导致的依赖冲突。
2482 0
【技术贴】同一局域网内电脑或者手机ping不通对方的解决办法
查看是否开启了360局域网隐身。360--功能大全--流量防火墙---局域网保护---局域网隐身---关闭即可。 刚才想用手机测试下自己做的网页,死活输入ip加端口号就是访问不到电脑的tomcat,后来发现原来是我以前在360里面设置开了隐身功能,关掉就ok了!
1549 0
findbugs 常见问题 及解决方案
      1 Bad practice 坏的实践 一些不好的实践,下面列举几个: HE:类定义了equals(),却没有hashCode();或类定义了equals(),却使用Object.hashCode();或类定义了hashCode(),却没有equals();或类定义了hashCode(),却使用Object.equals();类继承了equals(),却使用Object.hashCode()。
2885 0
Nginx根据Pc端和手机端访问不同页面
Nginx根据Pc端和手机端访问不同页面
12 0
圣诞礼遇!【推荐解决方案四部曲】请查收——第二部:基于对象特征的推荐
本次实验选用的是PAI-Studio作为实验平台,仅通过拖拽组件就可以快速实现一套基于对象特征的推荐系统。
472 0
Android之路 - 冷启动解决方案:实现秒开
前言 关于 splash 页面相信每个Android开发者都是非常熟悉的,而且很多人也遇到过需要在splash加个广告图片,然后延迟3秒在进入主页面,splash 应该只是一个启动页面,不应该放广告,但是那又能怎么样呢?又敌不过产品经理。
2061 0
结合AliOS Things谈嵌入式系统通用问题定位方法(2):内核相关基础
内核提供的任务创建接口,会存在参数指定当前任务创建完立即运行还是需要显示调用start运行,需要注意。如果在创建任务时指定了立即执行,而在创建任务后去设置任务参数,可能是不生效的。(尤其posix的pthread接口经常遇到这种问题)
78 0
css3在不同型号手机浏览器上的兼容一览表
网上搜集了css3对不同系统手机浏览器的支持情况(ios/android/winphone)备份一下以便查看.  以下资料由微信产品部"白树"整理, 转载请注明.√:完全支持   √:部分支持   ×:不支持   (-webkit):添加-webkit前缀才支持   (-ms):添加 -ms前缀才支...
921 0
+关注
杰克.陈
一个安静的程序猿~
10427
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载