Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

195
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!