前言
公司想做外勤管理的工具,要记录员工的出行轨迹,研究了一下,发现高德、腾讯都没有相关的API,只有百度地图有一个鹰眼的服务。那就试试呗~
开始
货比三家,先来看看其他两家的解决方案。
- 高德地图:https://lbs.amap.com/dev/demo/path-record#Android
- 腾讯地图:https://lbs.qq.com/geo/index.html
- 百度地图: http://lbsyun.baidu.com/index.php?title=yingyan
由于高德地图和腾讯地图没有为轨迹提供相应的web api,所以只能跳百度的坑了。
实践
对于有官方文档的,最好的上手方式,就是跟着官方的示例走一遍,了解每一步在做啥,接口该怎么调用。
申请密钥:http://lbsyun.baidu.com/apiconsole/key
进入管理控制台:http://lbsyun.baidu.com/trace
到这里我们已经可以获取到,ak和service_id了,现在去文档看看如何调用接口吧~
接口调用
首先我们看看可以调用的接口:
以轨迹上传接口为例,看看如何使用。
上传单个轨迹点没有什么坑,参照官方的示例即可,但是要注意使用模拟请求工具,我在本地调用遇到了jsonp+post(不清楚可以自己查一查哦~)的问题。
上传成功后,可以进入控制台查看具体的信息:http://lbsyun.baidu.com/trace/admin/manager?service_id=你的service_id
再来看看有坑的批量添加轨迹点~
此处需要注意,如果你传的参数中entity_name中包含中文,一定要先进行utf-8编码,或者不出现中文。否则请求会报错point_list中没有符合条件的point。
还有,上传的轨迹点的时间也有要求,不能早于当前时间超过一年,不能晚于当前时间超过十分钟。
这里只是讲述了如何使用百度鹰眼的接口,还有一些小伙伴是想把控制台集成到自己的系统中,具体可以在官方的论坛中中找找。
总结
不知道现在还有没人用百度鹰眼的接口,web api相关的资料比较少,大多都是在官方的论坛里,提供几个地址,方便大家查阅相关的资料。
- http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=128094
- http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=130458
- http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=109755
- http://bbs.lbsyun.baidu.com/forum.php
- http://bbs.lbsyun.baidu.com/forum.php?mod=forumdisplay&fid=26
研究到这里还是没能解决项目的需求,现在关于健康管理的APP很多,包括高德地图等APP都有提供记录轨迹的功能,但是要开发原生的安卓和ios(相关的API是原生的)还没有足够的技术支持。
web的限制还是蛮多的,相当于用完即走。想要获取实时的位置,并上传数据,简直无法接受。。如果你有什么好的想法或思路,
嘘寒问暖 不如打笔巨款~