Solo un breve descargo de responsabilidad antes de pasar a la pregunta real. Estoy trabajando en el proyecto React de otra persona y se supone que debo mejorarlo de cualquier manera que pueda. Han agregado un mapa de Google y marcadores a su aplicación web, con los que no estoy muy familiarizado.
Así que aquí va la pregunta. He descubierto el siguiente error. Cuando se hace clic en el mapa, se supone que aparece una ventana emergente (ventana de información) que contiene un formulario que el usuario puede completar. Una vez enviados, los datos se guardan en una base de datos y cuando se vuelve a hacer clic en el mismo marcador, los datos que se enviado se representa dentro de la ventana de información. No importa cuántos formularios se envíen, el usuario puede agregar más marcadores y repetir el mismo proceso. Sin embargo, si la ventana de información de un marcador se cierra sin que se complete y envíe el formulario, las nuevas windows de información (que contienen un formulario) no ya no se muestra cuando se hace clic en el mapa.
He revisado el código varias veces, pero no puedo entender dónde está el problema.
{newMarker && (
<MarkerF
position={{
lat: newMarker.latitude,
lng: newMarker.longitude,
}}
icon={{
url: require('../.././assets/firemarker.png'),
}}
>
{/* Pop-up bug must be here */}
{/* create new marker by clicking on map */}
<InfoWindowF
position={{
lat: newMarker.latitude,
lng: newMarker.longitude,
}}
>
<div>
<Form
handleFormSubmit={handleFormSubmit}
setUserLocation={setUserLocation}
setUserDescription={setUserDescription}
setFirePower={setFirePower}
/>
</div>
</InfoWindowF>
</MarkerF>
)}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>