[置顶] android LBS的研究与分享(附PPT)

时间:2023-03-09 03:56:24
[置顶] android LBS的研究与分享(附PPT)

早上起床后想想以前的工作有什么可以分享的。。。

两年前,前公司在做一个陌生人交友的社交软件(比陌陌还早),需要研究LBS的相关工作(这里面主要研究的是Google定位)。。。

一、简要调研结果

很多
LBS
软件都
使用
了第三方的地图
API
(比如百度,高德地图等等),精确度还可以(多多少少有偏差)

使用Google自身API的话,位置精确度更低(GPS,WIFI定位时,google的卫星数据是正确的,但是在天朝之下,也许是为了安全考虑,你懂的。。。所以国家会要求地图数据提供商进行偏移。。。所以情况是拿到定位的数据后,卫星模式显示正常,地图模式有偏差—拿到真实的位置显示在地图上时却有个东南方向的偏差),要想位置更加精确,就需要个纠偏算法,也就是还原算法了。所以如果你的应用想用Google定位的话,你需要有个纠偏算法。

LBS的软件就不说了,哪个社交软件没有位置。。。

二、定位方式对比

1.GPS定位

[置顶] android LBS的研究与分享(附PPT)

2.WIFI定位

[置顶] android LBS的研究与分享(附PPT)

3.基站定位

[置顶] android LBS的研究与分享(附PPT)

4.三种定位方式对比

[置顶] android LBS的研究与分享(附PPT)

三,研究体会

1.开发者注意:

开发者在不用的电脑上跑同一套程序(api key只是在某一台电脑上申请的)时,出现只有网格没有地图数据的情况,原因是debug.keystore与api key没有配对(不同电脑debug.keystore不一样,对应api key也不一样),当然正式发布不会出现这种情况(都是用正式的keystore打包)。

2.定位的优先级别:

室外定位 :GPS > WIFI >基站

室内环境:WIFI>基站>GPS

3.请使用Google Geocoding API (V3),请注意,原来的GoogleGeocoding API V2已经弃用。

即使V2某些API现在仍然可以用,但是强烈要求使用V3 API.

4.五个主要的API

[置顶] android LBS的研究与分享(附PPT)

1.Google Geocoding API:主要是用于地址解析和反向地址解析。

2. Google Directions API:使用HTTP请求计算多个位置间路线的服务。

3.Google Elevation API:查询地球上位置的海拔数据。

4.Google Places API :可用于查询附近商家信息或者其他感兴趣的地点信息。

.Google Static Maps API :可用于获取自定义位置图片.

4.1 Google Geocoding API

小时的限制或者滥用此服务,Google Geocoding API可能会暂停为您服务。如果您继续无视这个限制,将会阻止您对GoogleGeocoding API的访问。

该api包括四部分:

1.地址解析

2.反向地址解析

3.视角偏向

4.区域偏向

详细: http://code.google.com/intl/zhCN/apis/maps/documentation/geocoding/#Viewports

4.2  Google Directions API

个路标。

详细:http://code.google.com/intl/zhCN/apis/maps/documentation/directions/#TravelModes

4.3   Google Elevation API

使用 GoogleElevation API时,每天的海拔位置查询请求

不得超过
25,000

小时限制或以其他方式滥用此服务,则Google Elevation API可能会临时停止运行。如果您继续无视这个限制,将会阻止您对Google Elevation API的访问。

对于单点查询,Google Elevation API会尽可能地传回精确度最高的数据。对于包含多个位置的批量查询,传回的数据精度可能会比较低,尤其是当位置比较分散时,因为过滤掉了某些数据。

详细:http://code.google.com/intl/zh-CN/apis/maps/documentation/elevation/

4.4Google Places API(可以用于地商家和感兴趣地点的信息)

注意:

想要使用 Google Places API的开发人员应填写GooglePlaces API申请表

要使用Google Places API,您必须首先请求GoogleMaps API客户端ID和加密密钥(用于对请求网址进行签名)。有关如何对网址请求进行签名的信息,请参见网络服务API主页中的网址身份验证文档。

提供两个基本的位置请求:一个是位置搜索请求,另一个是位置详情请求。通常,位置搜索请求用于传回候选匹配项,而位置详情请求则用于传回位置的更为具体的信息。

详细:http://code.google.com/intl/zh-CN/apis/maps/documentation/places/

4.5  Google Static MapsAPI(可以用于获取位置缩略图的图片)

Google StaticMaps服务根据通过标准HTTP请求发送的网址参数来创建您的地图.

使用 Google Static Maps API时,次。由于此限制是按“查看者”规定的配额,因此大多数开发人员无需担心超出其配额。此外请注意,一般情况下对相同图片的请求,只会将第一次计入该限制次数,其他的重复请求不会计算在内。

详细:http://code.google.com/intl/zh-CN/apis/maps/documentation/staticmaps/


[置顶] android LBS的研究与分享(附PPT)

PPT资源地址:http://download.csdn.net/detail/zz7zz7zz/6391441