最近在开◣发小程序☆的时候,客户提出□□□□一个要求,就是他们◣的教育测□□□评机构是□□□在不同城□□□□市里的,可能一个□□□□机构在几□□□□个城市都▲有办公点,同时需要□□□获取用户□□□的当前城□□□□市的位置□□□来展示不□□同的测评□□□□机构信息,不在当前□□□城市的测□□评机构就丨不显示了。
获取用户□□□当前位置□□□的功能可□□□以打开腾□□□讯位置服□□务的网站,注册一个□□用户,然后申请□□一个KEY密钥,这样就可□□□□以配置KEY的信息了,如下图所◢示:

其中“荔园小程□□序”这个KEY名是我已♦经创建好□□□□的,具体的设□□置如下图□□□所示:

在填写了Key名称和描□□述后,需要勾选“微信小程□□□□序”,然后填写◢授权IP,勾选WebServiceAPI,选择“域名白名☆单”,这里就遇□□到了一个□□□□坑,注意不要◈在下面的◎编辑框填□□□写任何内□□容,否则在运□□行小程序□□调用接口□□□□的时候会□□□□提示“请求来源□□□未被授权, 此次请求□□□□来源域名: servicewechat.com”。第二个就□□□是要在微□□□□信小程序□□平台里添□□加一个域□□□名白名单,如下图所✦示:

这里有一□□□个很有趣•的情况,就是如果□□你在WebServiceAPI的域名白□□□名单里填▼写了,上面的域□□□□名,那么即使▼你在微信□□小程序平□□台里添加□□上面的域◢名,也会提示“请求来源◉未被授权, 此次请求□□来源域名: servicewechat.com”。
然后就是□□下载qqmap-wx-jssdk1.0文件夹,将里的JS文件放到□□小程序的utils文件夹就□□□可以使用。
小程序是□□□□用getUserLocation获取用户□□□的位置,但需要用◇户授权才□□能成功获□□□取,然后通过getLocation方法获取□□□经度和纬☆度,然后需要◇用type:’wgs84’把经纬度□□□转成百度◢的坐标,然后再使□□用getLocal方法获取□□用户的具□□体位置,这里需要□□使用到reverseGeocoder
方式(具体可以□□□□看小程序□□的开发文◤档,以上的方◢法小程序□□的开发文□□□□档都有讲□□□□到),通过返回♦值就可以•获取到用★户的位置□□□□信息,如下图所□□□示:

用户res.result.ad_info.city就可以得□□□到所在的□□□城市名称•了,然后根据□□城市的名□□□□称,调用不同□□□的测评机□□□□构信息展☆示给用户