Luego de investigar con especialistas en el tema, programadores de varias áreas y maestros dimos con la solución al dilema y la dejamos plasmada en este post.
Solución:
temp_marker
es un objeto Javascript, no un elemento DOM. Para adjuntar un oyente al marcador (la API manejará los detalles de a qué elemento DOM adjuntar y cómo), debe usar el propio sistema de eventos de la API de Google Maps como:
google.maps.event.addListener(marker, 'click', function()
marker.setVisible(false); // maps API hide call
);
Su documentación: Google Maps Javascript API v3 – Eventos
Ampliando las notas de Ben, esto debería ir donde haya declarado su marcador, por ejemplo:
var beachMarker = new google.maps.Marker(
position: myLatLng,
map: map,
icon: image
);
google.maps.event.addListener(beachMarker, 'click', function()
beachMarker.setVisible(false); // maps API hide call
);
}
Me ha tomado años tratar de resolver esto. Gran crédito para Ben! ¡Gracias!
Ben te dio la mitad de la respuesta. Una vez que pueda detectar el evento de clic del marcador, debe “ocultar” o eliminar el marcador del mapa. La forma estándar de hacer esto con Google Maps es hacer esto:
this.setMap(null);
Luego puede mostrar el mapa nuevamente utilizando setMap para asignar su objeto de mapa en lugar de null.
Si sostienes algún recelo o forma de refinar nuestro ensayo eres capaz de añadir una referencia y con mucho gusto lo ojearemos.