Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to get the weather of Amap's location in Html5

2025-01-22 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/01 Report--

小编给大家分享一下在Html5如何获取高德地图定位的天气,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

注:使用的是的模块注入方式,适用各种前端单页面应用及H5

创建一个AMap.js文件:

// AMap.js// 高德map https://webapi.amap.com/maps?v=1.4.11&key=你的高德地图的keyexport default function MapLoader () {return new Promise((resolve, reject) => {if (window.AMap) { resolve(window.AMap)} else { var script = document.createElement('script') script.type = 'text/javascript' script.async = true //这里引入的是全部模块,或者按需要模块引入,加参数plugin="模块名" script.src = 'http://webapi.amap.com/maps?v=1.4.11&callback=initAMap&key=6747cb97****************7e774b4b62' //你的高德应用AK (申请参考官方文档) script.onerror = reject document.head.appendChild(script)''}window.initAMap = () => { resolve(window.AMap)}})}

使用

vue 示例:

import MapLoader from '@/common/SDK/AMap.js'MapLoader().then(AMap => { //加载定位插件 AMap.plugin(['AMap.Geolocation', 'AMap.Weather'], function() { var geolocation = new AMap.Geolocation({ // 是否使用高精度定位,默认:true enableHighAccuracy: true, // 设置定位超时时间,默认:无穷大 timeout: 10000, // 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20) buttonOffset: new AMap.Pixel(10, 20), // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false zoomToAccuracy: true, // 定位按钮的排放位置, RB表示右下 buttonPosition: 'RB' }) geolocation.getCurrentPosition() AMap.event.addListener(geolocation, 'complete', onComplete) AMap.event.addListener(geolocation, 'error', onError) var weather = new AMap.Weather(); function onComplete(data) { // data是具体的定位信息 that.$store.dispatch('UPDATE_ADDRESS', data.formattedAddress) // weather.getForecast(data.addressComponent.adcode, function(err, data) { // console.log(err, data); // }); weather.getLive(data.addressComponent.adcode, function(err, data) { // console.log(err, data); let obj = { adcode: "330100", //区域编码 city: "杭州市", //城市 humidity: "92", //空气湿度(百分比) info: "OK", //状态 province: "浙江", //省份 reportTime: "2019-12-24 19:55:48", temperature: 10, //实时气温,单位:摄氏度 weather: "阴", //天气预报 windDirection: "东", // 风向,风向编码对应描述 windPower: "≤3", //风力,风力编码对应风力级别,单位:级 } let weatherObj = { date: `${that.$moment().format('MM月DD日')}`, week: `${that.$moment().format('d')}`, temperature: data.temperature, currentCity: data.city, weatherDesc: data.weather } that.$store.dispatch("UPDATE_Weather", weatherObj) }); } function onError(data) { // 定位出错 if (data.info == 'NOT_SUPPORTED') { uni.showModal({ title: '提示', content: '当前浏览器不支持定位功能' || '定位失败' }) } else if (data.info == 'FAILED') { uni.showModal({ title: '提示', content: data.message || '定位失败' }) } } }) }, e => { console.log('地图加载失败', e) }) }看完了这篇文章,相信你对"在Html5如何获取高德地图定位的天气"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report