Introduzione

Questo tutorial mostra come aggiungere una mappa Google alla tua app Flutter. La mappa include un indicatore, chiamato anche segnaposto, per segnalare un luogo specifico.
Recuperare il codice
Clona o scarica il repository di esempi di Flutter. Il codice
di esempio è disponibile nella
directory google_maps.
Configurare il progetto di sviluppo
Prima di continuare con questo argomento, assicurati di aver completato i passaggi descritti nella guida Configurare un progetto Flutter.
1. Importare il pacchetto Google Maps per Flutter
- Apri il file
main.dartnell'IDE che preferisci. - Verifica che l'istruzione di importazione seguente sia stata aggiunta al file:
import 'package:google_maps_flutter/google_maps_flutter.dart';
2. Aggiungere Google Maps alla tua app Flutter
All'interno del widget Scaffold, aggiungi un widget GoogleMap come corpo.
GoogleMap( initialCameraPosition: CameraPosition( target: _center, zoom: 11.0, ), markers: { const Marker( markerId: MarkerId('Sydney'), position: LatLng(-33.86, 151.20), ) }, )
- L'opzione
markerIdetichetta l'indicatore. - L'opzione
positionimposta la posizione in cui l'indicatore viene visualizzato sulla mappa.
3. Creare ed eseguire l'app
Avvia l'app Flutter utilizzando una delle seguenti opzioni:
- Nell'IDE, fai clic sul pulsante
Run(Esegui). - Dalla riga di comando, esegui
flutter run.
Dovresti vedere una mappa con un indicatore centrato su Sydney, sulla costa orientale dell'Australia, simile all'immagine in questa pagina.
Risoluzione dei problemi
- Se non vedi una mappa, controlla di aver ottenuto una chiave API e di averla aggiunta all'app.
- Se hai utilizzato l'identificatore del pacchetto iOS per limitare la chiave API, modificala per aggiungere l'identificatore del pacchetto per l'app:
com.google.examples.map-with-marker. - Assicurati di avere una buona connessione Wi-Fi o GPS.
- Utilizza i Flutter DevTools per visualizzare i log ed eseguire il debug dell'app.
- Puoi scoprire di più sull'esecuzione di un'app Flutter.
4. Nozioni di base sul codice
Questo codice è disponibile su GitHub.
- Importa i pacchetti necessari e inizializza l'app.
import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; void main() => runApp(const MyApp()); class MyApp extends StatefulWidget { const MyApp({super.key}); @override State<MyApp> createState() => _MyAppState(); }
- Crea una mappa centrata su Sydney, in Australia.
class _MyAppState extends State<MyApp> { late GoogleMapController mapController; final LatLng _center = const LatLng(-33.86, 151.20); void _onMapCreated(GoogleMapController controller) { mapController = controller; }
- Aggiungi i widget necessari per visualizzare una mappa in un'app.
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text('Maps Sample App'), backgroundColor: Colors.green[700], ), body: GoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: CameraPosition( target: _center, zoom: 11.0, ), // CameraPosition ), // GoogleMap ), // Scaffold ); // MaterialApp } }
- Aggiungi i widget degli indicatori per aggiungere il widget all'app.
body: GoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: CameraPosition( target: _center, zoom: 11.0, ), markers: { const Marker( markerId: const MarkerId("Sydney"), position: LatLng(-33.86, 151.20), ), // Marker }, // markers ), // GoogleMap ...
- Aggiungi una finestra informativa all'indicatore.
Per impostazione predefinita, il pacchetto Google Maps per Flutter visualizza i contenuti della finestra informativa quando l'utente tocca un indicatore. Non è necessario aggiungere un click listener per l'indicatore se vuoi utilizzare il comportamento predefinito.const Marker( markerId: const MarkerId("Sydney"), position: LatLng(-33.86, 151.20), infoWindow: InfoWindow( title: "Sydney", snippet: "Capital of New South Wales", ), // InfoWindow ), //Marker ...
Complimenti! Hai creato un'app Flutter che visualizza una mappa Google con un indicatore per segnalare un luogo specifico e fornire ulteriori informazioni in una finestra informativa. Hai anche imparato a utilizzare il pacchetto Google Maps per Flutter.