JavaScript根據(jù)高德api獲取相關(guān)信息

1. 根據(jù)高德api獲取本地ip下的天氣信息

步驟1. 依據(jù)高德api和發(fā)送的ip地址獲取該ip所屬的地址
步驟2. 將步驟1返回的地址碼添加到高德獲取天氣的api中 查詢天氣信息

  //高德獲取天氣方法
let weatherInfo = new Promise((resolve, reject) => $.get("http://restapi.amap.com/v3/ip?key=高德KEY", (result) => !!result ? resolve(result) : reject('error')))
     .then(res => new Promise((resolve, reject) => $.get(`http://restapi.amap.com/v3/weather/weatherInfo?key=高德KEY=${res.adcode}`, (res) => !!res ? resolve(res) : reject('error'))))
     .then(res => !!res && !!res.lives && res.lives.length > 0 && res.lives[0])
     .catch(e => e);
weatherInfo.then(res => this.weatherInfo = res).catch(e => console.log(e));;

2.根據(jù)高德api獲取給定地圖范圍內(nèi)的poi

此處用到了async/await方法,并使用遞歸調(diào)用

const amapKey =高德KEY;
//poi API
const poiPolygonAPI = "http://restapi.amap.com/v3/place/polygon";
//此處的范圍自己去定,按照格式寫就好
const kgPolygon = "117.34560973,39.15703259|117.39951140,39.09652196|117.46482855,39.09343205|117.47572905,39.15935002|117.39487654,39.16999303|117.34560973,39.15703259";
/*
* 獲取高德地圖區(qū)域poi
* */
let page = 1;
let poiResult = [];
async function getPOI() {
  let res = await $.get(`${poiPolygonAPI}?key=${amapKey}&polygon=${kgPolygon}&offset=20&page=${page}&extensions=all`, res => res).catch(e=>console.error(e));
  poiResult.push(...res.pois);
  if (+res.count > page * 20) {
    page++;
     if (page > 100) {
        console.warn("已超過最大翻頁數(shù),請(qǐng)縮小查詢范圍,使頁數(shù)小于100");
        return;
       }
    getPOI();//遞歸調(diào)用
  } else {
    console.log(poiResult);
    console.log(JSON.stringify(poiResult));
    return poiResult;
  }
}
getPOI();//執(zhí)行

其中:高德KEY需要自己去申請(qǐng) 地址

和大家共勉,如有錯(cuò)誤的地方,望請(qǐng)指正

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,269評(píng)論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • LZ-Says:前段時(shí)間更新了一篇關(guān)于高德地圖的簡單使用,其中主要包含實(shí)現(xiàn)地圖顯示以及定位簡單功能,具體文章如下:...
    靜心Study閱讀 1,893評(píng)論 1 6
  • 想你的路上 車 一動(dòng)一動(dòng)的開著 人 一步一步的走著 我 一直在路上 在想你的路上 永不停息 你的話語 一直在我耳旁...
    阿海10號(hào)閱讀 257評(píng)論 0 1
  • 女孩跟那個(gè)大自己一歲的男人是偶然間認(rèn)識(shí)的,初認(rèn)識(shí)女孩時(shí),女孩感覺那個(gè)男人好像很急切,很急切地向自己要電話號(hào)碼,因此...
    道中閱讀 6,681評(píng)論 0 10