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

青灯夜游
Lepaskan: 2022-01-24 19:34:17
ke hadapan
2969 orang telah melayarinya

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
Salin selepas log masuk
  • 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;
});
Salin selepas log masuk

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'
})();
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk

Format bagi nilai pulangan

{

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

  }
Salin selepas log masuk

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')
    }
Salin selepas log masuk

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;
    }
Salin selepas log masuk

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!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!