微信小程序获得当前城市,获得当前天气
// // 获取用户当前所在城市
// wx.getLocation({
// type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
// success: function(res) {
// console.log('获取位置成功', res);
// // 使用腾讯地图API进行逆地址解析
// wx.request({
// url: 'https://apis.map.qq.com/ws/geocoder/v1/',
// data: {
// location: res.latitude + ',' + res.longitude,
// key: 'C', // 请替换为您自己的腾讯地图API密钥
// get_poi: 0
// },
// success: function(response) {
// console.log('逆地址解析成功', response);
// if (response.statusCode === 200 && response.data.status === 0) {
// var address = response.data.result.address_component;
// that.setData({
// province: address.province,
// city: address.city,
// district: address.district
// });
// console.log('当前所在城市:', address.city);
// wx.request({
// url: apiip + '/api/Z_tianqi?cityStr='+address.city+'', ///按getuserinfo2 写的
// method: 'Get',
// success: function (res) {
// console.log('当日的天气' + JSON.stringify(res))
// if (res.data.code == '0') {
// console.log('获得了天气,动态设置'+res.data.tianqi)
// var video1='';
// if(res.data.tianqi=='雷雨'){
// video1="http://up_tu/zy_img/leiyu.mp4"
// }else if(res.data.tianqi=="晴"){
// video1="up_tu/zy_img/qingtian.mp4"
// } else if(res.data.tianqi=="雪"){
// video1="http:/6/up_tu/zy_img/xuetian.mp4"
// } else if(res.data.tianqi=="雨"||res.data.tianqi=="小雨"||res.data.tianqi=="中雨"||res.data.tianqi=="大雨"||res.data.tianqi=="暴雨"){
// video1="http://wup_tu/zy_img/yutian.mp4"
// } else{
// video1="http://w/up_tu/zy_img/tizh.mp4"
// }
// that.setData({
// tizhiqingyuSp:video1
// })
// console.log('获得了天气,动态设置视频链接'+that.data.tizhiqingyuSp)
// }}})
// //--
// } else {
// console.log('逆地址解析失败', response);
// }
// },
// fail: function(error) {
// console.log('请求腾讯地图API失败', error);
// }
// });
// },
// fail: function(error) {
// console.log('获取位置失败', error);
// // 失败时可以请求用户手动授权
// wx.showModal({
// title: '提示',
// content: '需要获取您的地理位置,请确认授权',
// success: function(res) {
// if (res.confirm) {
// wx.openSetting({
// success: function(data) {
// if (data.authSetting["scope.userLocation"] === true) {
// wx.showToast({
// title: '授权成功',
// icon: 'success',
// duration: 1000
// });
// // 再次获取位置
// wx.getLocation({
// success: function(res) {
// console.log('再次获取位置成功', res);
// }
// });
// } else {
// wx.showToast({
// title: '授权失败',
// icon: 'none',
// duration: 1000
// });
// }
// }
// });
// }
// }
// });
// }
// });
// //end 天气情况
API:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Data;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Data.SqlClient;
using System.IO;
using System.Web.Hosting;
namespace WebApplication1.Controllers
{
public class Z_tianqiController : ApiController
{
// 主要城市列表 - 使用城市ID而不是名称
// 城市ID可以通过和风天气的城市搜索API获取:https://dev.qweather.com/docs/api/geoapi/city-lookup/
private static readonly Dictionary<string, string> Cities = new Dictionary<string, string>()
{
// 4个直辖市
{"北京", "101010100"}, // 北京市
{"上海", "101020100"}, // 上海市
{"天津", "101030100"}, // 天津市
{"重庆", "101040100"}, // 重庆市
// 河北省
{"石家庄", "101090101"},
{"唐山", "101090501"},
{"秦皇岛", "101091101"},
{"邯郸", "101091001"},
{"邢台", "101090901"},
{"保定", "101090201"},
{"张家口", "101090301"},
{"承德", "101090402"},
{"沧州", "101090701"},
{"廊坊", "101090601"},
{"衡水", "101090801"},
// 山西省
{"太原", "101100101"},
{"大同", "101100201"},
{"阳泉", "101100301"},
{"长治", "101100501"},
{"晋城", "101100601"},
{"朔州", "101100901"},
{"晋中", "101100401"},
{"运城", "101100801"},
{"忻州", "101101001"},
{"临汾", "101100701"},
{"吕梁", "101101100"},
// 内蒙古自治区
{"呼和浩特", "101080101"},
{"包头", "101080201"},
{"乌海", "101080301"},
{"赤峰", "101080601"},
{"通辽", "101080501"},
{"鄂尔多斯", "101080701"},
{"呼伦贝尔", "101081000"},
{"巴彦淖尔", "101080801"},
{"乌兰察布", "101080405"},
// 辽宁省
{"沈阳", "101070101"},
{"大连", "101070201"},
{"鞍山", "101070301"},
{"抚顺", "101070401"},
{"本溪", "101070501"},
{"丹东", "101070601"},
{"锦州", "101070701"},
{"营口", "101070801"},
{"阜新", "101070901"},
{"辽阳", "101071001"},
{"盘锦", "101071301"},
{"铁岭", "101071101"},
{"朝阳", "101071201"},
{"葫芦岛", "101071401"},
// 吉林省
{"长春", "101060101"},
{"吉林", "101060201"},
{"四平", "101060401"},
{"辽源", "101060701"},
{"通化", "101060501"},
{"白山", "101060901"},
{"松原", "101060801"},
{"白城", "101060601"},
{"延边", "101060301"},
// 黑龙江省
{"哈尔滨", "101050101"},
{"齐齐哈尔", "101050201"},
{"鸡西", "101051101"},
{"鹤岗", "101051201"},
{"双鸭山", "101051301"},
{"大庆", "101050901"},
{"伊春", "101050801"},
{"佳木斯", "101050401"},
{"七台河", "101051002"},
{"牡丹江", "101050301"},
{"黑河", "101050601"},
{"绥化", "101050501"},
{"大兴安岭", "101050701"},
// 江苏省
{"南京", "101190101"},
{"无锡", "101190201"},
{"徐州", "101190801"},
{"常州", "101191101"},
{"苏州", "101190401"},
{"南通", "101190501"},
{"连云港", "101191001"},
{"淮安", "101190901"},
{"盐城", "101190701"},
{"扬州", "101190601"},
{"镇江", "101190301"},
{"泰州", "101191201"},
{"宿迁", "101191301"},
// 浙江省
{"杭州", "101210101"},
{"宁波", "101210401"},
{"温州", "101210701"},
{"嘉兴", "101210301"},
{"湖州", "101210201"},
{"绍兴", "101210501"},
{"金华", "101210901"},
{"衢州", "101211001"},
{"舟山", "101211101"},
{"台州", "101210601"},
{"丽水", "101210801"},
// 安徽省
{"合肥", "101220101"},
{"芜湖", "101220301"},
{"蚌埠", "101220201"},
{"淮南", "101220401"},
{"马鞍山", "101220501"},
{"淮北", "101221301"},
相关文章:
微信小程序获得当前城市,获得当前天气
// // 获取用户当前所在城市 // wx.getLocation({// type: wgs84, // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 // success: function(res) {// console.log(获取位置成功, res); // // 使用腾讯地图API进行逆地址解析 // wx…...
磁流变式汽车减振器创新设计与关键技术研究
摘要 本文针对智能悬架系统的发展需求,深入探讨磁流变减振器(MR Damper)的核心设计原理与工程实现路径。通过建立磁场-流场耦合模型,优化磁路结构与控制策略,提出具有快速响应特性的新型磁流变减振器设计方案…...
Python3.14都有什么重要新特性
目录 1、语法糖新宠:模式匹配再进化 1.1 结构化数据克星 1.2 类型守卫(Type Guard) 2、性能黑科技:尾递归与异步双杀 2.1 尾调用优化(TCO) 2.2 异步任务重构 3、注释系统重构:annotationlib深度解析 3.1 延迟评估机制 3.2 类型推导增…...
前端资源加载失败后重试加载(CSS,JS等引用资源)
前端资源加载失败后的重试 .前端引用资源时出现了资源加载失败(这里针对的是路径引用异常或者url解析错误时) 解决这个问题首先要明确一下几个步骤 1.什么情况或者什么时候重试 2.如何重试 3.重试过程中的边界处理 这里引入里三个测试脚本,分别加载里三个不同的脚…...
【HDFS入门】联邦机制(Federation)与扩展性:HDFS NameNode水平扩展深度解析
目录 引言 1 NameNode水平扩展原理 1.1 传统HDFS架构的局限性 1.2 联邦机制的基本原理 1.3 联邦架构的关键组件 2 多个Namespace的路由规则配置 2.1 客户端挂载表概念 2.2 挂载表配置示例 2.3 挂载表匹配规则 2.4 配置示例 3 BlockPool与Namespace的映射关系 3.1 B…...
C#学习第16天:聊聊反射
什么是反射? 定义:反射是一种机制,允许程序在运行时获取关于自身的信息,并且可以动态调用方法、访问属性或创建实例。用途:常用于框架设计、工具开发、序列化、代码分析和测试等场景 反射的核心概念 1. 获取类型信息…...
论文阅读:2024 arxiv AI Safety in Generative AI Large Language Models: A Survey
总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 AI Safety in Generative AI Large Language Models: A Survey https://arxiv.org/pdf/2407.18369 https://www.doubao.com/chat/3262156521106434 速览 研究动机&#x…...
AI推荐系统的详细解析 +推荐系统中滤泡效应(Filter Bubble)的详细解析+ 基于Java构建电商推荐系统的分步实现方案,结合机器学习与工程实践
以下是AI推荐系统的详细解析: 一、核心概念 定义 推荐系统是通过分析用户行为、物品特征或用户画像,向用户推荐个性化内容的技术,广泛应用于电商、视频、社交等领域。 目标 提升用户留存与转化率增强用户体验实现精准营销 二、技术原理 1…...
CSS 美化页面(五)
一、position属性 属性值描述应用场景static默认定位方式,元素遵循文档流正常排列,top/right/bottom/left 属性无效。普通文档流布局,默认布局,无需特殊定位。relative相对定位,相对于元素原本位置进行偏…...
java 设计模式之模板方法模式
简介 模板方法模式:定义一个算法的基本流程,将一些步骤延迟到子类中实现。模板方法模式可以提高代码的复用性, 模板方法中包含的角色: 抽象类:负责给出一个算法的基本流程,它由一个模板方法和若干个基本…...
基于大模型的腹股沟疝诊疗全流程风险预测与方案制定研究报告
目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与创新点 二、大模型技术概述 2.1 大模型基本原理 2.2 常用大模型类型及特点 2.3 大模型在医疗领域的应用潜力 三、腹股沟疝诊疗流程分析 3.1 腹股沟疝的发病机制与分类 3.2 传统术前评估方法与局…...
无约束最优化问题的求解算法--梯度下降法(Gradient Descent)
文章目录 梯度下降法梯度下降法原理(通俗版)梯度下降法公式学习率的设置**如何选择学习率?** 全局最优解梯度下降法流程损失函数的导函数三种梯度下降法**梯度下降法核心步骤回顾****优缺点详解****1. 全量梯度下降 (Batch Gradient Descent,…...
Python全功能PDF工具箱GUI:支持转换、加密、旋转、图片提取、日志记录等多功能操作
使用Python打造一款集成 PDF转换、编辑、加密、解密、图片提取、日志追踪 等多个功能于一体的桌面工具应用(Tkinter ttkbootstrap PyPDF2 等库)。 ✨项目背景与开发动机 在日常办公或学习中,我们经常会遇到各种关于PDF文件的操作需求&#…...
[密码学实战]国密算法面试题解析及应用
以下是密码学领域常见的面试题及其详细解析,涵盖基础理论、算法实现与应用场景,帮助系统化备战技术面试 一、基础概念类 1. 密码学的主要目标是什么? 答案: 确保数据的机密性(加密防止窃听)、完整性(哈希校验防篡改)、认证性(数字签名验证身份)和不可否认性(签名防…...
React 受控表单绑定基础
React 中最常见的几个需求是: 渲染一组列表绑定点击事件表单数据与组件状态之间的绑定 受控表单绑定是理解表单交互的关键之一。 📍什么是受控组件? 在 React 中,所谓“受控组件”,指的是表单元素(如 &l…...
计算机视觉---相机标定
相机标定在机器人系统中的作用 1.确定相机的内部参数 相机的内部参数包括焦距、主点坐标、像素尺寸等。这些参数决定了相机成像的几何关系。通过标定,可以精确获取这些参数,从而将图像中的像素坐标与实际的物理坐标建立联系。例如,已知相机…...
LeetCode 443 压缩字符串
字符数组压缩算法详解:实现与分析 一、引言 在处理字符数组时,我们常常遇到需要对连续重复字符进行压缩的场景。这不仅可以节省存储空间,还能提升数据传输效率。本文将深入解析一个经典的字符数组压缩算法,通过详细的实现步骤和…...
datasheet数据手册-阅读方法
DataSheet Datasheet(数据手册):电子元器件或者芯片的数据手册,一般由厂家编写,格式一般为PDF,内容为电子分立元器件或者芯片的各项参数,电性参数,物理参数,甚至制造材料…...
AI绘制流程图,方法概述
1 deepseek 生成图片的mermaid格式代码,在kimi中进行绘图或在jupter notebook中绘制: 或在draw.io中进行绘制(mermaid代码) 2 svg是矢量图,可以插入到word """mermaid graph TDA[基线解算] --> B[北…...
ObjectOutputStream 深度解析
ObjectOutputStream 深度解析 ObjectOutputStream 是 Java IO 体系中的一个关键类,用于序列化(将对象转换为字节流),通常与 ObjectInputStream 配合使用,实现对象的持久化存储或网络传输。 1.作用:完成对象的序列化过程 2.它可以将JVM当中的Java对象序列化到文件中/网…...
git回滚指定版本并操作
你可以通过以下步骤切换到第三个版本。根据你的需求,有两种主要方法: 方法 1:临时查看第三个版本(不修改当前分支) 适用于仅查看或测试旧版本,不保留后续修改: 找到第三个版本的提交哈希&#…...
【AI插件开发】Notepad++ AI插件开发实践:支持配置界面
一、引用 此前的系列文章已基本完成了Notepad的AI插件的功能开发,但是此前使用的配置为JSON配置文件,不支持界面配置。 本章在此基础上集成支持配置界面,这样不需要手工修改配置文件,直接在界面上操作,方便快捷。 注…...
polkitd服务无法启动导致docker无法启动问题解决
问题docker服务无法启动,溯源发现是polkit服务没有正确运行 systemctl status polkit可以看到类似提示 Sep 18 02:58:24 server1 dbus[897]: [system] Failed to activate service org.freedesktop.PolicyKit1: timed out Sep 18 02:59:29 server1 systemd[1]: po…...
软件工程中数据一致性的探讨
软件工程中数据一致性的探讨 引言数据一致性:软件工程中的业务正确性与性能的权衡数据一致性为何重要业务正确性:事务的原子性与一致性ACID原则的基石分布式事务的挑战一致性级别:从强一致到最终一致 实践中的一致性权衡金融系统:…...
数据库原理及应用mysql版陈业斌实验四
🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客 🌅主页:猫咪-9527-CSDN博客 “欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。” 目录 实验四索引与视图 1.实验数据如下 student 表(学生表&…...
华为OD机试真题——最长的顺子(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
2025 A卷 100分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C、C语言、GO六种语言的最佳实现方式! 本文收录于专栏:《2025华为OD真题目录全流程解析/备考攻略/经验…...
【HTML】html文件
HTML文件全解析:搭建网页的基石 在互联网的广袤世界里,每一个绚丽多彩、功能各异的网页背后,都离不开HTML文件的默默支撑。HTML,即超文本标记语言(HyperText Markup Language),作为网页创建的基…...
使用 XWPFDocument 生成表格时固定列宽度
一、XWPFDocument XWPFTable个性化属性 1.初始默认写法 XWPFTable table document.createTable(n, m); //在文档中创建一个n行m列的表格 table.setWidth("100%"); // 表格占页面100%宽度// 通过getRow获取行进行自定义设置 XWPFTableRow row table.getRow(0); XW…...
足球AI模型:一款用数据分析赛事的模型
2023 年欧冠决赛前,某体育数据平台的 AI 模型以 78% 的概率预测曼城夺冠 —— 最终瓜迪奥拉的球队首次捧起大耳朵杯。当足球遇上 AI,那些看似玄学的 "足球是圆的",正在被数据与算法拆解成可计算的概率命题。今天我们就来聊聊&#…...
【ESP32|音频】一文读懂WAV音频文件格式【详解】
简介 最近在学习I2S音频相关内容,无可避免会涉及到关于音频格式的内容,所以刚开始接触的时候有点一头雾水,后面了解了下WAV相关内容,大致能够看懂wav音频格式是怎么样的了。本文主要为后面ESP32 I2S音频系列文章做铺垫࿰…...
