@sonardigital/nestjs-geocode
v1.0.0
Published
NestJS module for Google Maps geocoding
Maintainers
Readme
@sonardigital/nestjs-geocode
Modulo NestJS per geocoding con Google Maps Geocoding API.
Dopo la configurazione iniziale puoi iniettare GeocodeService nei tuoi servizi.
Integrazione nel progetto
1. Prerequisiti
- Un'app NestJS già avviata (
@nestjs/common,@nestjs/core) - Una API key di Google Maps con Geocoding API abilitata
2. Installa il pacchetto
Nel tuo progetto NestJS (non in questa repo):
npm install @sonardigital/nestjs-geocode3. Aggiungi la variabile d'ambiente
Nel file .env del tuo progetto:
GOOGLE_MAPS_API_KEY=AIza...4. Registra il modulo in AppModule
Apri src/app.module.ts del tuo progetto e aggiungi l'import:
import { Module } from '@nestjs/common';
import { GeocodeModule } from '@sonardigital/nestjs-geocode';
@Module({
imports: [
GeocodeModule.forRoot({
apiKey: process.env.GOOGLE_MAPS_API_KEY,
}),
// ... altri moduli del tuo progetto
],
})
export class AppModule {}Il modulo è global: non serve reimportarlo nei feature module.
Nota: se nel tuo progetto usi
@nestjs/config, puoi leggere le variabili conConfigServiceinvece diprocess.env.
Usare GeocodeService
import { Injectable } from '@nestjs/common';
import { GeocodeService } from '@sonardigital/nestjs-geocode';
@Injectable()
export class AddressesService {
constructor(private readonly geocode: GeocodeService) {}
async locate(street: string, number: string, zip: string, city: string) {
return this.geocode.position({ street, number, zip, city });
// => { lat: 45.46..., lng: 9.18... } oppure { lat: null, lng: null }
}
async raw(address: string) {
return this.geocode.geocode(address);
}
}Export del pacchetto
import {
GeocodeModule,
GeocodeService,
GeocodePosition,
parseGeocodePosition,
} from '@sonardigital/nestjs-geocode';