怎麼在nodejs中使用koa框架呼叫高德地圖介面?以下這篇文章跟大家介紹一下node koa調高德地圖介面的方法,希望對大家有幫助!
高德開放平台
調高德介面我們最重要需要什麼❓ 需要高德地圖的key。依照如下的步驟進入高德開放平台。
建立應用程式
#新增key
這裡注意一下不同的服務平台,對應不同的可使用服務。如下圖我是使用的是web服務
#產生了key
#koa請求第三方介面
#koa2-request
# #在node中請求第三方接口,其實也就是發起一個request請求。爬蟲的原理也是如此。 node發起請求的函式庫我們這裡用到了koa2-request。因為我們用到了koa框架。
- 網址: https://www.npmjs.com/package/koa2-request 其實也不用看了,介紹就這麼多。
- 安裝:
npm install koa2-request
- #基本使用方法
var koa2Req = require('koa2-request'); app.use(async(ctx, next) => { // request选项 var res = await koa2Req('http://www.baidu.com'); ctx.body = res.body; });
開乾
天氣介面
#我們進來後驚訝的發現他需要city和key作為參數IP定位
https://lbs.amap.com/api/webservice/guide/api/ipconfig這裡需要兩個參數ip和key- 網址 https://www.npmjs.com/package/ public-ip
- 基本使用方法
const publicIp = require('public-ip'); (async () => { console.log(await publicIp.v4()); //=> '46.5.21.123' console.log(await publicIp.v6()); //=> 'fe80::200:f8ff:fe21:67cf' })();
const koa2Req = require('koa2-request'); const publicIp = require('public-ip') // 获取外网ip const gaode_key = '8a674879652195a8bc6ff51357199517' class clientController { async getWeather(ctx, next) { const ip_param = await publicIp.v4() var res = await koa2Req(`https://restapi.amap.com/v3/ip?ip=${ip_param}&output=json&key=${gaode_key}`); ctx.body = res; } }傳回值的格式
{ "status" :"1", "info" :"OK", "infocode" :"10000", "province" :"北京市", "city" :"北京市", "adcode" :"110000", "rectangle" :"116.0119343,39.66127144;116.7829835,40.2164962" }我們想要取得城市編碼adcode,res.body是我們從介面取回的值。用JSON.parse將其轉為JSON物件。
async getWeather(ctx, next) { const ip_param = await publicIp.v4() var res = await koa2Req(`https://restapi.amap.com/v3/ip?ip=${ip_param}&output=json&key=${gaode_key}`); const city = JSON.parse(res.body).adcode console.log(city,'city') }接下來就可以呼叫天氣介面了,天氣介面需要剛才我們得到的城市編碼和key作為參數。
async getWeather(ctx, next) { const ip_param = await publicIp.v4() var res = await koa2Req(`https://restapi.amap.com/v3/ip?ip=${ip_param}&output=json&key=${gaode_key}`); const city = JSON.parse(res.body).adcode console.log(city,'city') var res_weather = await koa2Req(`https://restapi.amap.com/v3/weather/weatherInfo?city=${city}&key=${gaode_key}`) let weather = {data: JSON.parse(res_weather.body)} ctx.body = weather; }更多node相關知識,請造訪:
nodejs 教學!
以上是怎麼在node中使用koa框架呼叫高德地圖接口的詳細內容。更多資訊請關注PHP中文網其他相關文章!

node、nvm与npm的区别:1、nodejs是项目开发时所需要的代码库,nvm是nodejs版本管理工具,npm是nodejs包管理工具;2、nodejs能够使得javascript能够脱离浏览器运行,nvm能够管理nodejs和npm的版本,npm能够管理nodejs的第三方插件。

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!

node导出模块的两种方式:1、利用exports,该方法可以通过添加属性的方式导出,并且可以导出多个成员;2、利用“module.exports”,该方法可以直接通过为“module.exports”赋值的方式导出模块,只能导出单个成员。

安装node时会自动安装npm;npm是nodejs平台默认的包管理工具,新版本的nodejs已经集成了npm,所以npm会随同nodejs一起安装,安装完成后可以利用“npm -v”命令查看是否安装成功。

node中没有包含dom和bom;bom是指浏览器对象模型,bom是指文档对象模型,而node中采用ecmascript进行编码,并且没有浏览器也没有文档,是JavaScript运行在后端的环境平台,因此node中没有包含dom和bom。

本篇文章带大家聊聊Node.js中的path模块,介绍一下path的常见使用场景、执行机制,以及常用工具函数,希望对大家有所帮助!


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器