Maison >interface Web >js tutoriel >Comment utiliser le framework koa dans node pour appeler l'interface cartographique Gaode
Comment utiliser le framework koa dans nodejs pour appeler l'interface cartographique Amap ? L'article suivant vous présentera comment ajuster l'interface Amap à l'aide de node+koa. J'espère que cela vous sera utile !
Quelle est la chose la plus importante dont nous avons besoin pour ajuster l'interface Amap❓ Nous avons besoin de la clé de la carte Amap. Suivez les étapes ci-dessous pour accéder à la plateforme ouverte Amap.
Créer une application
Ajouter une clé
Ici, veuillez noter que différentes plateformes de services correspondent à différents services disponibles. Comme indiqué ci-dessous, j'utilise le service Web
pour générer la clé
koa2-request
at node Demander une interface tierce dans revient en fait à lancer une demande de requête. Le même principe s’applique aux robots d’exploration. Nous utilisons koa2-request comme bibliothèque permettant au nœud de lancer des requêtes. Parce que nous utilisons le framework koa.
Adresse : https://www.npmjs.com/package/koa2-request En fait, vous n'avez pas besoin de le lire, c'est toute l'introduction.
Installation :
npm install koa2-request
L'attente asynchrone est prise en charge ici
var koa2Req = require('koa2-request'); app.use(async(ctx, next) => { // request选项 var res = await koa2Req('http://www.baidu.com'); ctx.body = res.body; });
Démarrer
Nous avons découvert qu'il avait besoin de la ville et de la clé. un paramètre
mais il n'est pas pratique pour nous de saisir manuellement le code correspondant à la ville. Même si je m’en souvenais, ce serait une très mauvaise expérience utilisateur. Alors en fait, Amap dispose également d’une interface de positionnement IP. Alors sautons ci-dessous et jetons un coup d’œil.
Positionnement IP
https://lbs.amap.com/api/webservice/guide/api/ipconfig
Vous avez besoin de deux paramètres ici, ip et keyEn parlant d'IP, alors ici vous besoin d'un plug-in
Adresse 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; } }Le format de la valeur de retour
{ "status" :"1", "info" :"OK", "infocode" :"10000", "province" :"北京市", "city" :"北京市", "adcode" :"110000", "rectangle" :"116.0119343,39.66127144;116.7829835,40.2164962" }Nous voulons obtenir le code adcode de la ville, res.body est la valeur que nous récupérons de l'interface. Utilisez JSON.parse pour le convertir en objet 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') }Ensuite, vous pouvez appeler l'interface météo. L'interface météo nécessite le code de la ville et la clé que nous venons d'obtenir comme paramètres.
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; }Pour plus de connaissances sur les nœuds, veuillez visiter :
tutoriel Nodejs
!Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!