Maison >interface Web >js tutoriel >Comment utiliser le framework koa dans node pour appeler l'interface cartographique Gaode

Comment utiliser le framework koa dans node pour appeler l'interface cartographique Gaode

青灯夜游
青灯夜游avant
2022-01-24 19:34:173047parcourir

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 !

Comment utiliser le framework koa dans node pour appeler l'interface cartographique Gaode

Amap Open Platform

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.

Comment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

Créer une application

Comment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

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

Comment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

Comment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

pour générer la clé

Comment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

interface tierce de demande koa

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
  • Utilisation de base

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. Comment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

Positionnement IP

https://lbs.amap.com/api/webservice/guide/api/ipconfig

Vous avez besoin de deux paramètres ici, ip et key

En parlant d'IP, alors ici vous besoin d'un plug-inComment utiliser le framework koa dans node pour appeler linterface cartographique Gaode

Adresse https://www.npmjs.com/package/public-ip

    Utilisation de base
  • 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'
    })();
  • Ce qui suit est mon implémentation spécifique, utilisant l'adresse IP et la clé comme paramètres
  • 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer