Uso de Google Maps API v3: ¿Cómo cambio el cursor del mouse cuando uso el mouseover en un área en particular?¿Cómo cambio el cursor del mouse cuando uso el mouseover en un área particular en Google Map v3?
Respuesta
Sí, esto es posible mediante el establecimiento de draggableCursor
en MapOptions, como en el siguiente ejemplo:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps v3 Change Cursor Demo</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 350px"></div>
<script type="text/javascript">
var map = new google.maps.Map(document.getElementById("map"), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 8,
center: new google.maps.LatLng(-34.3, 150.6)
});
var ne = new google.maps.LatLng(-34.00, 150.00);
var nw = new google.maps.LatLng(-34.00, 150.50);
var sw = new google.maps.LatLng(-35.00, 150.50);
var se = new google.maps.LatLng(-35.00, 150.00);
var boundingBox = new google.maps.Polyline({
path: [ne, nw, sw, se, ne],
strokeColor: '#FF0000'
});
boundingBox.setMap(map);
google.maps.event.addListener(map, 'mousemove', function(event) {
if ((event.latLng.lat() > se.lat()) && (event.latLng.lat() < ne.lat()) &&
(event.latLng.lng() > ne.lng()) && (event.latLng.lng() < sw.lng())) {
map.setOptions({ draggableCursor: 'crosshair' });
}
else {
map.setOptions({ draggableCursor: 'url(http://maps.google.com/mapfiles/openhand.cur), move' });
}
});
</script>
</body>
</html>
Si ejecuta el ejemplo anterior, el cursor cambiará a una cruz una vez que el ratón se mueve dentro de la rectángulo rojo.
Google Maps Change Cursor http://img535.imageshack.us/img535/5923/mapcursor.png
Otras respuestas asesorar a poner oyentes mousemove 'en todo el objeto de mapa funciona, pero están equivocados. Esto es 'mano dura' y una mala idea ya que oyentes como estos pueden sumarse en una aplicación real y cuando se combinan con otras cosas que suceden en su mapa, pueden causar serios problemas de rendimiento y condiciones de carrera imprevistas.
La mejor manera de hacerlo es utilizar la clase google.maps.Polygon
. Esto le permite pasar una serie de objetos LatLng para crear un Polígono. Este polígono se representa en el mapa y tiene un atributo mouseover predeterminado de 'puntero', puede agregar un detector 'mouseover' al objeto devuelto desde la llamada de clase new google.maps.Polygon
.
La fuente de abajo es de este ejemplo http://code.google.com/apis/maps/documentation/javascript/examples/polygon-simple.html
var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875);
var myOptions = {
zoom: 5,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};
var bermudaTriangle;
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var triangleCoords = [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.75737)
];
bermudaTriangle = new google.maps.Polygon({
paths: triangleCoords,
strokeColor: "#FF0000",
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: "#FF0000",
fillOpacity: 0.35
});
bermudaTriangle.setMap(map);
Entonces puede añadir el oyente como este
google.maps.event.addListener(bermudaTriangle, 'mouseover', function() {
map.setZoom(8);
});
//now if you mouse over the Polygon area, your map will zoom to 8
- 1. icono de marcador de cambio en mouseover (google maps V3)
- 2. ¿Cómo cambio el cursor del mouse cuando el botón izquierdo del mouse está presionado?
- 3. marcador google maps v3 mouseover tooltip
- 4. Google Map jQuery - obtener LatLng desde el clic del mouse
- 5. Google Maps API v3 Evento mouseover con complemento de InfoBox
- 6. google maps v3 API mouseover con polígonos?
- 7. Zoom CSS3 en el cursor del mouse
- 8. google map V3 posición div cambio fijo relativo
- 9. Cómo configuro una imagen personalizada para el cursor del mouse en un mapa de google api v3
- 10. Google Map Marker Manager V3
- 11. Google Map Api v3 evento de arrastre en el mapa
- 12. ¿Cómo hacer que el cursor del mouse agarre el mouse?
- 13. Objeto siguiendo el cursor del mouse
- 14. Google Map v3 Evento cargado en el mapa
- 15. ¿Cómo ocultar el cursor del mouse?
- 16. Centro Google Maps (V3) en el tamaño del navegador (sensible)
- 17. Google Maps v3 marcador ventana de información en mouseover
- 18. ¿Cómo puedo mostrar NSMenu en el cursor del mouse?
- 19. ¿Cómo cambiar el cursor del mouse en java?
- 20. maximizar infowindow con google map api v3
- 21. google map api v3 color de fondo
- 22. mouseover google maps v3 API con polígonos. No funciona
- 23. obtener el cursor del mouse actual tipo
- 24. Deshabilitar el evento de 'clic' de Google Map en el área ocupada por OverlayView div
- 25. Cómo mostrar texto dinámico junto con el cursor del mouse
- 26. Área Google Map marcador con enlace
- 27. Jquery: evento mouseover en el área de mapa de imagen
- 28. Ocultando el cursor del mouse con glfw
- 29. cursor no cambia a puntero en el caso usemap/área
- 30. Google Map API V3: cómo agregar datos personalizados a marcadores
El ejemplo no funciona por alguna razón, pero el código realmente funciona cuando ¡Lo intento en mi código! – Michel
El ejemplo es solo una imagen :) – Alp
¿Qué podría hacer si utilizo Polygon en lugar de polyline? draggableCursor no funcionó..cursor sigue siendo puntero –