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!
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.
Buat Apl
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
untuk menjana kunci
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
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
, 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
Bercakap tentang IP, anda juga memerlukan pemalam
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!