Visão Geral
https://github.com/brianmcleer/mapswitcher-widget
O widget Map Switcher fornece uma interface suspensa para navegar entre diferentes aplicações do Experience Builder, preservando a extensão atual do mapa e o nível de zoom. O widget captura o fragmento hash da URL da aplicação de origem e o adiciona à URL de destino.
Nota: Uma versão anterior deste widget tinha URLs codificadas no código, o que impedia seu compartilhamento na Esri Community. O Experience Builder 1.19 introduziu mudanças incompatíveis que exigiram o redesenvolvimento do widget. Esta versão permite que administradores configurem URLs através do painel de configurações do widget, tornando-o adequado para distribuição mais ampla.
Configurações de Configuração
O painel de configurações do widget contém a configuração dos sites:
Configuração dos Sites:
- Rótulo: O nome exibido que aparece no menu suspenso
- URL: A URL completa para a aplicação Experience Builder alvo
Vários sites podem ser adicionados usando o botão "Adicionar Site". Sites podem ser removidos usando o botão "Remover" para cada entrada. O widget não requer conexão com widget de mapa.
Funcionalidade do Widget
O widget exibe um menu suspenso com as opções de sites configurados. O texto do espaço reservado é "Selecione o mapa para visualizar".
Funcionalidade:
Quando um usuário seleciona um destino no menu suspenso:
- O widget captura o fragmento hash atual da URL (tudo após o símbolo #)
- Este hash contém parâmetros do estado do mapa: coordenadas do centro, nível de zoom, escala, rotação e referência espacial
- O widget adiciona este hash à URL de destino selecionada
- O navegador navega para a nova aplicação
Recursos:
- Funciona com qualquer sistema de coordenadas (Web Mercator, State Plane, WGS84, etc.)
- Preserva ponto central, nível de zoom e rotação
- URLs configuradas no painel de configurações
Registro de alterações:
23/07/2026: Atualizado o widget Map Switcher para Experience Builder 1.21 para resolver erros no editor TypeScript, incluindo tipagem de componentes React e importações imutáveis de configuração. A versão do widget também foi atualizada e a última versão está disponível no GitHub.
04/06/2026: Adicionados package.json e package-lock.json ao widget. Este widget não possui dependências de terceiros, então não há nada extra para instalar. A configuração é apenas o npm install padrão na sua pasta client que você já está fazendo. Obrigado a @SunshineLuke90 pela sugestão e por explicar a abordagem de empacotamento.