直接进入主题,下面的是最终的效果
大家都知道微信小程序自带的wx.getlocation接口可以获取到经纬度,很坑的一点是没法直接获取到位置信息。所以都会选择用别的第三方接口或者SDK来解析获取位置信息,我之间用的是百度地图的接口来获取位置信息和天气的,不知道为什么后来一直报错不显示了。
上官网一看发现改了,之前调用一个接口就可以,现在在小程序内必须要用SDK才行,虽然麻烦但我还是按照官网的要求下载好需要的SDK,按照官网的都弄好,保存运行,发现还是报错,于是开始各种改,前前后后改了好几遍还是没用。于是我把百度地图官网的dem下载下来,导入开发者工具,发现还是报错,跟我之前的一模一样,哦吼!完蛋了,看来百度是不能用了
最后选择了使用腾讯地图(自家人的肯定能用),果然效果非常好,如下图
腾讯地图的SDK大家可以自行去网站,注册、登录、创建应用然后获取到自己的秘钥。
话不多说上代码。首先在相应的js文件中引入腾讯地图
然后,在onload函数中调用自己定义的getlocation()函数,用自带的wx.getLocation获取当前为止的经纬度
接着,在getLocation()中又调用了getLocal()获取位置信息,这个地方就用到了腾讯地图的jsSdk了
同时,在getLocation中调用getWeather()用来获取天气,这里获取天气我用的是“YY天气”,免费,用起来简单,也刚好符合我心在的需求
http://www.yytianqi.com/api.html ,本来想用高德的天气接口发现他必须要填写城市编码,有点麻烦
YY天气接口你可以选择城市编码、经纬度或者IP,我用的是经纬度
几行代码就搞定,是不是非常简单
参数名称全是拼音,一看就明白。fl:风力;fx:风向;sd:湿度;qw:气温。。。