Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

青灯夜游
青灯夜游ke hadapan
2022-01-24 19:34:172996semak imbas

Bagaimana untuk menggunakan rangka kerja koa dalam nodejs untuk memanggil antara muka peta Gaode? Artikel berikut akan memperkenalkan kepada anda cara melaraskan antara muka peta Gaode dalam nod koa. Saya harap ia akan membantu anda!

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

Amap Open Platform

Apakah perkara paling penting yang kita perlukan untuk melaraskan antara muka Amap❓ Kita memerlukan kunci Peta Amap. Ikuti langkah di bawah untuk memasuki platform terbuka Amap.

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

Buat Apl

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

Tambah kunci

Perhatikan di sini bahawa platform perkhidmatan yang berbeza sepadan dengan perkhidmatan yang tersedia yang berbeza. Seperti yang ditunjukkan di bawah, saya menggunakan perkhidmatan web

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

untuk menjana kunci

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

koa meminta antara muka pihak ketiga

koa2-permintaan

Meminta antara muka pihak ketiga dalam nod sebenarnya memulakan permintaan permintaan. Prinsip yang sama digunakan untuk crawler. Kami menggunakan koa2-request sebagai perpustakaan untuk nod untuk memulakan permintaan. Kerana kami menggunakan rangka kerja koa.

  • Alamat: https://www.npmjs.com/package/koa2-request Sebenarnya, anda tidak perlu membacanya, itu sahaja pengenalan.

  • Pemasangan:

npm install koa2-request
  • Penggunaan asas

Async menunggu disokong di sini

var koa2Req = require('koa2-request');
 
app.use(async(ctx, next) => {
    // request选项
    var res = await koa2Req('http://www.baidu.com');
    ctx.body = res.body;
});

Mulakan

Antara muka cuaca

Apabila kami masuk, kami terkejut kerana mendapati bahawa dia memerlukan bandar dan kunci sebagai parameter

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

, tetapi tidak praktikal untuk kami memasukkan kod yang sepadan dengan bandar secara manual. Walaupun saya mengingatinya, ia akan menjadi pengalaman pengguna yang sangat buruk. Kemudian sebenarnya, Amap juga mempunyai antara muka penentududukan IP. Jadi mari melompat ke bawah dan lihat.

Kedudukan IP

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

Dua parameter diperlukan di sini ip dan kunci

Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode

Bercakap tentang IP, anda juga memerlukan pemalam

  • Alamat https://www.npmjs.com/package / public-ip
  • Penggunaan asas
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'
})();

Berikut ialah pelaksanaan khusus saya, menggunakan ip dan kunci sebagai parameter

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;
    }
}

Format bagi nilai pulangan

{

       "status" :"1",
       "info" :"OK",
       "infocode" :"10000",
       "province" :"北京市",
       "city" :"北京市",
       "adcode" :"110000",
       "rectangle" :"116.0119343,39.66127144;116.7829835,40.2164962"

  }

Kami ingin mendapatkan kod iklan kod bandar, res.body ialah nilai yang kami peroleh semula daripada antara muka. Gunakan JSON.parse untuk menukarnya kepada objek 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')
    }

Seterusnya, anda boleh memanggil antara muka cuaca Antara muka cuaca memerlukan kod bandar dan kunci yang baru kami perolehi sebagai parameter.

    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;
    }

Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci Cara menggunakan rangka kerja koa dalam nod untuk memanggil antara muka peta Gaode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam