Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

138
Vistas
¿Hay alguna manera de obtener la posición del marcador en la pantalla en los mapas nativos de reacción?

Necesito información sobre herramientas personalizada con un fondo semitransparente que se superponga al mapa.

Entonces, en común, dibujamos primero MapView. Después de presionar el marcador en la parte superior de MapView, dibujamos la superposición (backgroundColor: "# 00000033"), en la parte superior dibuja información sobre herramientas e imagen sobre la posición del marcador para simular el resaltado. Y ahora necesito obtener la posición absoluta del marcador en la pantalla para dibujar mi imagen sobre él. Hay un point de apoyo en onPress nativeEvent con respecto a los documentos, pero no lo tengo en mi evento real y no sé si eso es lo que necesito.

 { "action": "marker-press", "coordinate": { "latitude": -15.3469687, "longitude": 37.100195 }, "id": "unknown", "target": 295 }

¿Hay alguna manera de obtener la posición del marcador en la pantalla?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Sí, puede usar el método de measureInWindow en ventana en la referencia del componente personalizado. Si su componente personalizado no tiene este método disponible, puede envolverlo en una Vista y usar el método en eso.

Ejemplo:

 const markerRef = useRef(); const [markerPosition, setMarkerPosition] = useState({}); const measureMarker = () => { markerRef.current?.measureInWindow((x, y, width, height) => { const { width: screenWidth, height: screenHeight } = Dimensions.get('screen'); // if any non-zero, on-screen values, save measurements if (!(x || y || width || height)) return; if (x > screenWidth || y > screenHeight) return; setMarkerPosition({x, y, width, height}); } }; ... return ( <View ref={markerRef} onLayout={measureMarker}> <CustomMarker ... );

Consulte los documentos de MeasureInWindow para obtener más información. La measure también funcionaría con el propósito de obtener la posición en pantalla.

Tenga en cuenta que estas devoluciones de llamada no funcionarán hasta que se complete el diseño nativo.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda