首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第三方库:googlemaps

起因

接触googlemaps,是源自于同学所托。嗯,一个还在深造的同学。他想得到这样的效果:

1 从google提供的map-api,获取两个坐标之间的多条路径,并仅筛选出这些路径中,距离最近的和距离最远的。

2 这两条路径,需要把路径指示中,每个分段路径的起始坐标,耗时和距离返回。

3 需要保存数据到txt文件。嗯,没选择数据库,让我比较疑惑。

大致的数据可以形如一个字典:

初步接触googlemaps库

googlemaps库,是通过访问google map服务器提供的接口,采用requests库,发起get或者post请求,提供相关参数,来获取路线信息。

所以,对这个库的使用要求是,能够解决网络问题,请求能够到达google map所在的服务器,嗯,也就是说,需要能够海外代理或者,梯子。从同学嘱托我这个东西到完成,差不多4天时间,而网络问题,差不多耗尽了3天半。主要原因是,在同学已经提供了梯子和账号的情况下,未能正确配置本地信息。pac模式和全局代理模式。

使用googlemaps 的directions api

在googlemaps的github上,有使用教程,如何初始化一个client,然后如何调用库里面封装好的api。而想要实现获取多条路径,则需要使用directions这个api。但是在文档中,并没有详细的,关于如何使用directions的说明。只能查看源码。好在,源码对这个api,需要的参数是做了详细说明的,大致包括,起点,终点,是否多路径返回,出发时间,想到达的时间,语言设置等。如下:

如何构思

我准备完成一个python文件,相当于在googlemaps上再次封装,让他能够简单使用。向外提供一个函数,也就是api,需要的参数是起始的坐标,返回加工好的数据。同时默认一个参数,用于以坐标为文件名,存放数据。

此接口,将调用本文件中的多个私有方法:

1 获取路径信息

2 筛选出最快和最慢的路径

3 将路径信息转换结构,剔除不需要返回的信息

4 保存到指定路径下

5 统一输出,如果后面需要,用logging替代print

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180108G0M7K500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券