Pakete, Repositories und App-Kategorien suchen

Cover von google_map_custom_windows
Paketdetailsv1.1.0

google_map_custom_windows

Eine anpassbare Infofenster für Google Maps-Marker. Sie können mehrere Infofenster in Ihrer Google Maps-Ansicht anzeigen.

AndroidiOS
30-Tage-Downloads
1460
Likes
2
Pub-Punkte
160

Paket installieren

flutter pub add google_map_custom_windows

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Ein anpassbares Paket für Google Maps-Marker-Info-Fenster, das die Anzeige mehrerer Info-Fenster auf einer Google Maps-Ansicht ermöglicht. Es erweitert die Standardfunktionen von Markern, indem Entwicklern ermöglicht wird, benutzerdefinierte, interaktive Popups für jeden Marker zu erstellen und zu verwalten. Ideal für Anwendungen, die reichhaltigen, dynamischen Inhalt in Kartenmarkern benötigen, wie detaillierte Standortdaten, Bilder oder Schaltflächen. Das Paket unterstützt Android und iOS und integriert sich nahtlos mit dem Flutter Google Maps-Plugin.

Anwendungsfälle

  • Anzeigen mehrerer benutzerdefinierter Info-Fenster auf einer Karte
  • Anzeigen reicher Inhalte wie Bilder und Schaltflächen in Markern
  • Interaktive Standortdetails-Panels erstellen
  • Verbesserung der Benutzererfahrung mit benutzerdefinierten Markerpops
  • Erstellen von ortsbasierten Anwendungen mit detaillierten Markierungsinformationen

Hauptmerkmale

  • Unterstützt mehrere Info-Fenster gleichzeitig
  • Hochgradig anpassbare Benutzeroberfläche für Informationsfenster
  • Kompatibel mit Android und iOS
  • Einfache Integration mit dem Google Maps-Plugin
  • Ermöglicht interaktive Elemente innerhalb von Info-Fenstern

Geeignet für

  • Entwickler, die komplexe Karteninterfaces erstellen
  • Apps, die reichhaltigen Markerinhalt benötigen
  • Standortbasierte Dienste mit detaillierten Informationen
  • Flutter-Projekte mit Google Maps
  • Teams, die flexible Markierungsoptionen wünschen

Hinweise

  • Erfordert eine korrekte Einrichtung mit Google Maps-API-Schlüssel
  • Kann die Leistung beeinträchtigen, wenn viele überlappende Info-Fenster vorhanden sind
  • Benutzerdefinierte Stile erfordern Kenntnisse über Flutter-Widgets
  • Beschränkte Dokumentation über die grundlegende Verwendung hinaus
  • Abhängig von der Stabilität des externen GitHub-Repositorys

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

google map custom info window

A Flutter package that extends the capabilities of google_maps_flutter by allowing developers to display fully customizable info windows for markers, including the ability to show multiple info windows simultaneously on the map.

✨Features

  • Customizable Info Windows: Design your info window using any Flutter widget.
  • Multiple Info Windows: Display several info windows at once, ideal for showing details of nearby locations or clustered markers.
  • Highly Flexible: Control the content, styling, and behavior of each info window independently.
  • Easy Integration: Seamlessly integrates with your existing Maps_flutter implementation.

📸 Demo screen recording

🚀 Getting Started

  1. Add Dependencies First, ensure you have google_maps_flutter integrated into your project. Then, add google_map_custom_windows to your pubspec.yaml:

     dependencies:
       google_map_custom_windows: ^1.0.1
    

    Run flutter pub get to fetch the new dependencies.

  2. Import

     import 'package:google_map_custom_windows/google_map_custom_windows.dart';
    
  3. Usage To use the custom info windows, you'll primarily interact with the GoogleMapCustomWindowController and the CustomMapInfoWindow widget.

  • Initialize GoogleMapCustomWindowController, Create an instance of GoogleMapCustomWindowController in your StatefulWidget's initState.
    late GoogleMapCustomWindowController _googleMapCustomWindowController;
    
    @override
    void initState() {
     super.initState();
     _googleMapCustomWindowController = GoogleMapCustomWindowController();
    }
    
  • Need to create your custom info window widget for view. You can create multiple window as your requirement.
    class MyCustomInfoWidget extends StatelessWidget {
    final String title;
    const MyCustomInfoWidget({super.key, required this.title});
    
    @override
    Widget build(BuildContext context) {
     return Container(
       decoration: BoxDecoration(
         borderRadius: BorderRadius.circular(10),
         color: Colors.black,
       ),
       alignment: Alignment.center,
       child: Text(
         title,
         style: TextStyle(color: Colors.white, fontSize: 14),
       ),
     );
    }
    }
    
  • Declare list of info window and same size of list LatLng.
    List<Widget> infoWidgets = [
    MyCustomInfoWidget(title: 'From Marker'),
    MyCustomInfoWidget(title: 'To Marker'),
    ];
    
    List<LatLng> infoPositions = [
    LatLng(23.798054, 90.413459),
    LatLng(23.789451, 90.419584),
    ];
    
  • Use Stack widget for using custom info window.
    @Stack(
         children: [
           GoogleMap(
             mapType: MapType.normal,
             markers: markers,
             initialCameraPosition: CameraPosition(target: initPosition, zoom: 15),
             onMapCreated: (GoogleMapController controller) {
               _setFromToMarker();
               _googleMapCustomWindowController.googleMapController = controller;
               _googleMapCustomWindowController.addInfoWindow!(infoWidgets, infoPositions);
             },
             onTap: (position) {
               _googleMapCustomWindowController.hideInfoWindow!();
             },
             onCameraMove: (CameraPosition cameraPosition) {
               _googleMapCustomWindowController.onCameraMove!();
             },
           ),
    
           CustomMapInfoWindow(
             controller: _googleMapCustomWindowController,
             offset: const Offset(0, 50),
             height: 40,
             width: 100,
           ),
         ],
       )
    
  1. Don't forget to dispose _googleMapCustomWindowController
    @override
      void dispose() {
        _googleMapCustomWindowController.dispose();
        super.dispose();
      }
    

🤝 Contributing

Contributions are welcome! If you find a bug or have a feature request, please open an issue on GitHub. If you'd like to contribute code, please fork the repository and submit a pull request.

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.