Buscar pacotes, repositórios e categorias de apps

Capa de google_map_custom_windows
Detalhes do pacotev1.1.0

google_map_custom_windows

Uma janela de informações personalizável para marcadores do Google Maps. Você pode exibir várias janelas de informações no seu visualizador do Google Maps.

AndroidiOS
Downloads em 30 dias
1,5 mil
Curtidas
2
Pontos Pub
160

Instalar pacote

flutter pub add google_map_custom_windows

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote de janela de informações personalizável para marcadores do Google Maps que permite exibir várias janelas de informações em uma visualização do Google Maps. Ele expande a funcionalidade padrão dos marcadores, permitindo que desenvolvedores criem e gerenciem pop-ups personalizados e interativos para cada marcador. Ideal para aplicações que exigem conteúdo rico e dinâmico nos marcadores do mapa, como dados detalhados de localização, imagens ou botões. O pacote suporta plataformas Android e iOS e se integra perfeitamente com o plugin Google Maps do Flutter.

Casos de uso

  • Exibindo várias janelas de informações personalizadas em um mapa
  • Mostrando conteúdo rico, como imagens e botões, em marcadores
  • Criando painéis interativos de detalhes de localização
  • Melhorando a experiência do usuário com popups personalizados de marcadores
  • Criando aplicativos baseados em localização com informações detalhadas sobre marcadores

Principais recursos

  • Suporta várias janelas de informações simultaneamente
  • UI altamente personalizável para janelas de informações
  • Compatível com Android e iOS
  • Integração fácil com o plugin do Google Maps
  • Permite elementos interativos dentro das janelas de informações

Indicado para

  • Desenvolvedores construindo interfaces de mapa complexas
  • Aplicativos que precisam de conteúdo rico em marcadores
  • Serviços baseados em localização com informações detalhadas
  • Projetos Flutter usando o Google Maps
  • Equipes que desejam personalização flexível de marcadores

Considerações

  • Requer configuração adequada com a chave da API do Google Maps
  • Pode afetar o desempenho com muitas janelas de informação sobrepostas
  • Estilo personalizado exige familiaridade com widgets do Flutter
  • Documentação limitada além do uso básico
  • Depende da estabilidade do repositório externo no GitHub

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Categorias

Dependências

Lista de dependências 1 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.