前言:前两个跟同事聊天得知他们有个新需求:根据用户填写的地址信息计算出以客户为中心,半径5km范围内的服务门店
手上只有客户地址,门店地址。所以怎么求两个地址之间的距离就来了,回顾一下初中地理,我们可以根据两个地址间经纬度来计算两地之间的距离,所以解决思路就很清晰了,先求出地址对应的经纬度,再根据经纬度计算距离就可以啦!
一、调用百度云API接口
调用百度云API接口,就得先申请开发者权限具体操作步骤如下1.首先得创建百度账号 ps:基本都用百度云所以这个是现成的2.认证成为开发者(学习和练习使用的话,认证个人开发者即可,信息填写真实信息,秒通过)
3.接下来就是创建AK
认证成功后,点击控制台,再点击应用管理,我的应用,创建应用
应用类型的话我之前选择的是服务端,搞了好久都不行,网上说要搞什么 sk啥的,但是我做了还是不行,由于我是在自己电脑上玩的所以最终选择了“浏览器端”
1.下面的 启用服务记得一定要勾选,我们主要用到的是 地理编码这个选项 2.Referer白名单,根据下面的提示设置即可,为了方便建议设置为 *
这样就拿到AK了,之后配到你的程序里就可以啦
由于误入歧途,找SK 花了点时间所以,根据搜的博客指示找了半天也没找到,可能是因为版本升级的原因吧
首先创建应用,选择服务端,校验方式选择sn校验方式,点击旁边的小蓝字
就可以看到,官网给出的计算方法,我对着这个提示找了好久的sk,愣是没找到他说的什么下面那排星号
要找到sk,首先创建的得是服务端的应用,然后点击应用配置下面的设置,拉到最后面就看到sk啦
http://lbsyun.baidu.com/index.php?title=lbscloud/api/appendix#service-page-anchor2
这个地址里由java,python,PHP,c#编写的示例代码,不过可惜的是python 用的是2.7写的,可能由于时间久远的问题,里面的URL请求链接都是过时的v2
如图所示,这个页面给出了正确的url以及请求参数的设置,http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding,地址我就扔这了,剩下自己找吧,由于快吃无法了,python代码就留到下篇吧