初体验

最近接触到了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) }
});
}

最后运行结果

各位晚安

# 初体验之腾讯位置服务彩云天气开发者api的更多相关文章

  1. 集成腾讯位置服务到webapi

    经纬度转换为详细地址信息 参考文档:http://lbs.qq.com/webservice_v1/guide-gcoder.html 首先申请key,如果使用的是服务端请求webservice AP ...

  2. SpringCloud初体验:三、Feign 服务间调用(FeignClient)、负载均衡(Ribbon)、容错/降级处理(Hystrix)

    FeignOpenFeign Feign是一种声明式.模板化的HTTP客户端. 看了解释过后,可以理解为他是一种 客户端 配置实现的策略,它实现 服务间调用(FeignClient).负载均衡(Rib ...

  3. SpringCloud初体验:一、Eureka 服务的注册与发现

    Eureka :云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移. Eureka 可以大致理解为 房产中介 和 房东 的关系,房东想让租客租房子,首先要把房子 ...

  4. 腾讯位置服务API快速入门

    前言 之前项目有个需求,在网页上显示微信发送过来的位置信息,该开始想用百度地图,后来发现腾讯地图相对简单一点 快速入门 申请Key https://lbs.qq.com/guides/startup. ...

  5. SpringCloud初体验:五、Sidecar 将 PHP 这类非 Java 生态语言的服务接入 Spring Cloud

    先起一个 Sidecar 服务,一个PHP服务一个应用,和PHP服务部署在同一台机子,通过 localhost 访问,这样就解决了网络开销,相当于本地进程间调用 Sidecar 服务比较简单, 1.这 ...

  6. 【阿里云产品公测】弹性伸缩服务ESS之试用初体验

    弹性伸缩服务ESS之试用初体验 作者:云郎 2014/10/15 阿里云弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其弹性计算服务器(ECS)的管 ...

  7. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  8. 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...

  9. 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验

    [阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人   初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...

随机推荐

  1. Htmlcss学习笔记1——html基础

    Hyper text markup language 超文本标签语言.不是一种编程语言,而是一种标记语言标记语言是一套标记标签 开发工具 chrome subline vscode photoshop ...

  2. 记录学习docker命令的随笔

    docker安装与启动 安装docker yum包更新到最新  sudo yum update 安装需要的软件包  sudo yum install -y yum-utils device-mappe ...

  3. 安装Apache所踩的的坑

    刚开始接触PHP等一些脚本语言,需要建立一个本地的服务器,变进行安装了Apache.在其中碰到了诸多问题,和大家一一分享一下. 一.刚解压完成后使用cmd面板进入解压完成的apache的bin目录下, ...

  4. 记录laravelchina中的微信小程序教程的npm install安装报错

    npm安装报错时 npm ERR! code EIOnpm ERR! syscall symlinknpm ERR! path ../@babel/parser/bin/babel-parser.js ...

  5. const定义的对象属性是否可以改变------是!

    用const声明person对象,给age重新赋值是没问题的 但是重新给person赋值是不可以的 这里需要了解'基本数据类型'和'引用数据类型' 基本数据类型:string, number, boo ...

  6. Update LateUpdae FixedUpdate

    这个问题本来是在研究动画系统时遇到的:OnAnimatorMove在Animator.Update()调用,那这个Animator.Update是什么时候调用的呢. Animator Componen ...

  7. C++STL complex吃书使用指南

    说在前面: complex即为复数 使用c++自带的complex类型,首先要有<complex>头文件,还要使用std命名空间 声明方式: complex <T> a:  声 ...

  8. 深入了解Redis【二】对象及数据结构综述

    引言 Redis中每个键值对都是由对象组成: 键总是一个字符串对象(string) 值可以是字符串对象(string).列表对象(list).哈希对象(hash).集合对象(set).有序集合对象(z ...

  9. Agumaster漂亮起来了

  10. centos6.5环境下安装yum工具

    前不久因为安装数据库时动了yum安装文档中的参数,导致yum安装软件时总是出现no package等问题,决定重装yum工具. 第一步:下载原有yum安装包 [root@linux-node3 ~]# ...