Queremos darte la mejor solución que descubrimos por todo internet. Nosotros queremos que te resulte de utilidad y si deseas aportar alguna mejora hazlo con libertad.
Solución:
Utilice el método containsLocation(punto:LatLng, polígono:Polígono).
containsLocation(punto:LatLng, polígono:Polígono) booleano Calcula si el punto dado se encuentra dentro del polígono especificado.
violín de prueba de concepto
fragmento de código:
function checkInPolygon(marker, polygon)
var infowindow = new google.maps.InfoWindow();
var html = "";
if (google.maps.geometry.poly.containsLocation(marker.getPosition(), polygon))
html = "inside polygon";
else
html = "outside polygon";
infowindow.setContent(html);
infowindow.open(map, marker);
var map;
var coord1 = new google.maps.LatLng(26.194876675795218, -69.8291015625);
var coord2 = new google.maps.LatLng(33.194876675795218, -63.8291015625);
function initialize()
var map = new google.maps.Map(
document.getElementById("map_canvas"),
center: new google.maps.LatLng(37.4419, -122.1419),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
);
bermudaTriangle.setMap(map);
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < bermudaTriangle.getPath().getLength(); i++)
bounds.extend(bermudaTriangle.getPath().getAt(i));
bounds.extend(coord1);
bounds.extend(coord2);
var marker1 = new google.maps.Marker(
map: map,
position: coord1
);
var marker2 = new google.maps.Marker(
map: map,
position: coord2,
);
map.setCenter(bounds.getCenter());
map.setZoom(3);
checkInPolygon(marker1, bermudaTriangle);
checkInPolygon(marker2, bermudaTriangle);
google.maps.event.addDomListener(window, "load", initialize);
var bermudaTriangle = new google.maps.Polygon(
paths: [
new google.maps.LatLng(25.774252, -80.190262),
new google.maps.LatLng(18.466465, -66.118292),
new google.maps.LatLng(32.321384, -64.75737),
]
);
html,
body,
#map_canvas
height: 100%;
width: 100%;
margin: 0px;
padding: 0px
Si la API de Google Maps no tiene ningún método específico para esto, deberá encontrar o escribir uno propio. Es un problema común en los gráficos por computadora, y si busca en Google "prueba de aciertos de polígono", encontrará una gran cantidad de información. Esta respuesta SO parece razonablemente completa.
¡Haz clic para puntuar esta entrada!
(Votos: 5 Promedio: 4.4)