GLatLngBounds
El
GLatLngBounds representa un rectángulo dentro del mapa, marcado por los extremos
suroeste (sw) y noreste (ne).
GLatLngBounds dispone de varios métodos que pueden llegar a ser extremadamente útiles
para realizar algunas operaciones con nuestros mapas:
-
equals(GLatLngBounds): nos dice si el GLatLngBounds pasado como parámetro es igual
al del rectángulo.
-
contains(GLatLng): nos dice si el GLatLng pasado como parámetro está dentro del actual
rectángulo.
-
intersects(GLatLngBounds): nos dice si el rectángulo pasado como parámetro intersecta
al rectángulo.
-
containsBounds(GLatLngBounds): nos dice si el rectángulo pasado como parámetro contiene
al rectángulo.
-
extend(GLatLng): amplia el rectángulo de modo que el GLatLng quede contenido
dentro de él.
-
getSouthWest: devuelve el GLatLng corresponiente a la coordenada suroeste.
-
getNorthEast: devuelve el GLatLng corresponiente a la coordenada noreste.
-
toSpan: devuelve el GLatLng que representa las coordenadas del rectángulo.
-
isFullLat: nos dice si el rectángulo se extiende desde el polo sur hasta el polo norte.
-
isFullLng: nos dice si el rectángulo se extiende a lo largo de toda la longutid terrestre.
-
isEmpty: nos dice si el rectángulo está vacío.
-
getCenter: devuelve la coordenada central del rectángulo.
Además con el método estático
GMap1.getBoundsZoomLevel(latlngbounds) se obtiene el mayor zoom para el cual se visualiza toda el área definida por el latlngbounds.
Code.aspx.cs
GLatLng sw = new GLatLng(40, 15);
GLatLng ne = sw + new GLatLng(5, -10.2);
GLatLngBounds latlngbounds = new GLatLngBounds(sw, ne);
GMap1.addGMarker(new GMarker(latlngbounds.getNorthEast()));
GMap1.addGMarker(new GMarker(latlngbounds.getSouthWest()));
GMap1.GZoom = GMap1.getBoundsZoomLevel(latlngbounds);
GMap1.setCenter(latlngbounds.getCenter());
GLatLng sw2 = new GLatLng(42, 7);
GLatLng ne2 = sw2 + new GLatLng(5, 5);
GLatLngBounds latlngbounds2 = new GLatLngBounds(sw2, ne2);
GLatLng swBig = new GLatLng(35, 0);
GLatLng neBig = swBig + new GLatLng(15, 15);
GLatLngBounds latlngboundsBig = new GLatLngBounds(swBig, neBig);
GLatLng inside = latlngbounds.getCenter();
GLatLng outside = neBig + new GLatLng(10, 10);
bool isInside = latlngbounds.contains(inside);
bool isOutSide = !latlngbounds.contains(outside);
bool intersect = latlngbounds.insersects(latlngbounds2);
bool contains = latlngboundsBig.containsBounds(latlngbounds);