Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

217
Visualizações
configure el manejo de gestos del widget de GoogleMap en "codicioso" en flutter

Estoy trabajando en una aplicación web flutter y estoy usando el widget GoogleMap. Hay varios modos de interacción (gestureHandling) que Google pone a disposición en la versión de JavaScript ( Interaction doc ).

Por defecto, el mapa está en modo "codicioso", pero cuando cambio el tamaño del navegador de Internet, entra en modo "cooperativo"... y en este momento, cuando quiero hacer zoom en mi mapa, tengo que mantener la tecla CTRL y no me gusta nada

Me muestra: "Use ctrl + scroll para hacer zoom en el mapa".

Entonces, en mi proyecto, quiero configurar el mapa en el modo de interacción "codicioso", pero el widget de GoogleMap no tiene ningún parámetro para hacerlo.

Encontré una solución alternativa que consiste en pasar por JavaScript para presionar programáticamente el botón CTRL cuando hay una acción de la rueda en el mapa.

 <!-- In web/index.html --> <!-- ... --> <head> <!-- ... --> <script src="script.js" defer></script> <!-- ... --> </head> <!-- ... -->
 // In web/script.js function initScrollListener(id) { try { var map = document.getElementById('plugins.flutter.io/google_maps_' + id); map.addEventListener('wheel', wheelEvent, true); } catch (error) { console.error(error); } } function wheelEvent(event) { Object.defineProperty(event, 'ctrlKey', { value: true }); }
 // In lib/main.dart (or anywhere in your project) import 'dart:js' as js; import 'package:flutter/foundation.dart'; //... in my widget ...// @override Widget build(BuildContext context) { return GoogleMap( //...// onMapCreated: (GoogleMapController controller) { //Call the JavaScript function if(kIsWeb) js.context.callMethod('initScrollListener', [controller.mapId]); }, ); } //...//

Funciona bastante bien, pero no estoy muy seguro de esta solución.

Ahora estoy tratando de encontrar una manera de recuperar la instancia de google.maps.Map e intento configurar manualmente el modo de interacción "codicioso".

Si tienes alguna sugerencia ^^ ¡Gracias!

Recursos Relacionados:

  • Flutter problema 95774
  • Tirón de aleteo 3943
over 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda