初体验

最近接触到了boxjs,看到了里面一个比较有意思的彩云天气的脚本,由于自己本身就是彩云天气pro的用户,日常使用过程中感觉到彩云的降雨提醒还是挺方便的,于是就准备开始使用这个天气的脚本。

脚本主要用到两个平台的接口:

  1. 腾讯位置服务平台提供获取经纬度的接口
  2. 彩云天气申请开发者api调用对应经纬度的天气状况

测试环境选择了自己的iphone上的JSbox来运行一个简单的js脚本:

//简单思路就是 获取ip再获取天气信息
const locationKey = "XXXXXXXXXXXXX"
const weatherKey = "XXXXXXXXXXXX" const apiList = {
location:"https://apis.map.qq.com/ws"
} function getLonLat(){
$http.get({
url: `${apiList.location}/location/v1/ip?key=${locationKey}`,
handler: (resp) => {
let location = resp.data&&resp.data.result&&resp.data.result.location
getLocation(location)
}
});
}
function getLocation(location){
$http.get({
url: `${apiList.location}/geocoder/v1/?key=${locationKey}&location=${location.lat},${location.lng}`,
handler: (resp) => {
var data = resp.data;
$console.info(data.result.formatted_addresses.recommend);
}
});
} /**
*
* @param {lat:"",lng:""} location
*/
function getWeather(location){
$http.get({
url: `${apiList.weather}/${weatherKey}/${location.lng},${location.lat}/weather.json`,
handler: (resp) => {
let data = resp.data;
console.info(data)
//运行结果参照彩云天气https://open.caiyunapp.com/%E9%80%9A%E7%94%A8%E9%A2%84%E6%8A%A5%E6%8E%A5%E5%8F%A3/v2.5
}
});
} getLonLat()

顿时醒悟

写到这其实我只是想测试一下两个接口的基本用法以及可用之处,然后突然想到jsbox里面内置的$location可以直接获取到设备的位置信息,通过这样获取到的位置坐标会比ip的更加精准

//根据原生SDK获取手机位置
function getPhoneLoc(){
$location.fetch({
handler: function(resp) {
var lat = resp.lat;
var lng = resp.lng;
var alt = resp.alt; let loc = {lat:lat,lng:lng}
getLocation(loc) }
});
}

最后运行结果

各位晚安

最新文章

  1. C# 索引器使用总结
  2. css 常用样式
  3. Oracle学习整理
  4. nsstring字符串重组
  5. 微信网页获取openId
  6. Android Compatibility package 兼容性开发套件
  7. 用实体框架搭建MVC程序框架(全部)
  8. [React Native] Up and Running
  9. HTML的语义化,你需要深入了解
  10. CSS3动画以及animation事件
  11. Alpha冲刺Day4
  12. i++是否原子操作?并解释为什么???????
  13. python3 练手实例1 计算三角形周长和面积
  14. Python爬虫入门之正则表达式
  15. jquery 蔚蓝网
  16. Linux-read 命令(20)
  17. apach ab 安装时的错误
  18. 【进阶2-2期】JavaScript深入之从作用域链理解闭包(转)
  19. CAP原则
  20. Tencent interview

热门文章

  1. 两台Windows Server 2012 R2数据库同步
  2. 前端框架之vue初步学习
  3. 夜息seo培训内部教程
  4. 2020,最新Model的设计-APP重构之路
  5. 23种设计模式 - 对象创建(FactoryMethod - AbstractFactory - Prototype - Builder)
  6. 【Pytorch-入门】windows下的环境搭建(经验证成功~)
  7. Unity双开
  8. Zabbix-4.0-设置钉钉报警脚本
  9. iptables实用知识 ,一文学会配置linux防火墙
  10. Python 3.8.1 各版本下载地址