持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
效果
直接进入主题,下面的是最终的效果
遇到问题
相信做过小程序开发的都知道微信小程序自带的 wx.getlocation 接口可以获取到经纬度,但很坑的一点是没法直接获取到位置信息。
所以都会选择用别的第三方接口或者SDK来解析获取位置信息,之前这个项目用的是百度地图的接口来获取位置信息和天气的,不知道为什么后来一直报错不显示了。
找到问题
上官网一看发现改了,之前直接调用接口就可以获取数据,现在小程序内必须要用SDK才行,虽然麻烦但我还是按照他的要求下载了SDK,改引入的引入,该配置的配置,然后保存运行,结果发现还是报错。
我还以为是哪没写对,于是开始找问题,又是一通改,最后来来回回的改了好几遍,结果还是没用,报错。
于是我索性把百度地图官网的demo下载下来,导入开发者工具运行,发现也报错,跟之前的报错信息一模一样,哦吼!完蛋了,看来是企鹅限制了,这回百度是不能用了。
最后选择了使用腾讯地图(自家人的肯定能用),果然效果非常好,如下图
实现步骤
来说说整体的步骤吧
腾讯地图的SDK大家可以自行去网站,注册、登录、创建应用然后获取到自己的秘钥。
首先在相应的js文件中引入腾讯地图SDK
然后,在onload函数中调用getlocation()方法,用微信wx.getLocation接口获取当前位置的经纬度
接着,在getLocation()中调用getLocal()用经纬度信息逆解析获取位置信息,这个地方就用到了腾讯地图的SDK了
同时,在getLocation中调用getWeather()用来获取天气,这里获取天气我用的是“YY天气”,免费,用起来简单,也刚好符合我心在的需求
www.yytianqi.com/api.html ,本来想用高德的天气接口发现他必须要填写城市编码,有点麻烦
YY天气接口你可以选择用城市编码、经纬度或者IP查询天气,我这里用的是经纬度
几行代码就搞定,是不是非常简单
参数名称全是拼音,非常接地气,一看就明白。fl:风力;fx:风向;sd:湿度;qw:气温