Tengo en mi base de datos verticidades de longitud-latitud de polígonos definidos por el usuario. Mi pregunta es: ¿cómo puedo recrearlos y mostrarlos en un mapa ahora? Esto es bastante fácil de hacer con la API de Google Maps, pero no puedo encontrar ninguna documentación o ejemplos sobre cómo hacer esto con OpenLayers. Alguien ha tenido alguna experiencia haciendo esto?OpenLayers: ¿cómo dibujo un polígono de los puntos LonLat existentes?
18
A
Respuesta
34
Después de mucha experimentación, descubrí cómo hacerlo:
var sitePoints = [];
var siteStyle = {
// style_definition
};
var epsg4326 = new OpenLayers.Projection("EPSG:4326");
for (var i in coordinates) {
var coord = coordinates[i];
var point = new OpenLayers.Geometry.Point(coord.lng, coord.lat);
// transform from WGS 1984 to Spherical Mercator
point.transform(epsg4326, map.getProjectionObject());
sitePoints.push(point);
}
sitePoints.push(sitePoints[0]);
var linearRing = new OpenLayers.Geometry.LinearRing(sitePoints);
var geometry = new OpenLayers.Geometry.Polygon([linearRing]);
var polygonFeature = new OpenLayers.Feature.Vector(geometry, null, siteStyle);
vectors.addFeatures([polygonFeature]);
Cuestiones relacionadas
- 1. cómo obtener las coordenadas de un polígono en OpenLayers
- 2. Círculo de Openlayers Polígono en la capa de OpenStreetMaps
- 3. Ordenando los puntos del polígono
- 4. ¿Cómo obtengo un polígono delimitador alrededor de los puntos?
- 5. Polígono que encierra un conjunto de puntos
- 6. ¿Cómo agregar un cuadro emergente a un vector en OpenLayers?
- 7. En PostGIS, ¿cómo puedo encontrar todos los puntos dentro de un polígono?
- 8. Ruby Rails Postgis - Encontrar todos los puntos en un polígono
- 9. línea Draw entre dos puntos usando OpenLayers
- 10. OpenLayers event.register no registrando
- 11. ¿Cómo determinar qué puntos están dentro de un polígono y cuáles no (gran cantidad de puntos)?
- 12. Iniciar dibujo de polígono desde el botón personalizado
- 13. OpenLayers: ¿Cómo calcular la distancia entre dos puntos?
- 14. Dibujo puntos LAT/LNG en una imagen
- 15. Openlayers: Características vectoriales en lugar de marcadores
- 16. Obtener las coordenadas de los puntos de un polígono de Boost Geometry
- 17. Crear polígono de la geografía de puntos en T-SQL
- 18. Problemas con los estilos de OpenLayers
- 19. Latitud de OpenLayers capturada de forma incorrecta en los navegadores de Webkit Mobile
- 20. Cómo entender los proyectos existentes
- 21. ¿Cómo puedo eliminar los controles estándar en un OpenLayers-Map?
- 22. Cómo dibujar el polígono más grande a partir de un conjunto de puntos
- 23. ¿Cómo detectar si un polígono tiene autointersecciones?
- 24. Rasterizar un polígono 2D
- 25. ¿Cómo ordenar puntos en un polígono de Google Maps para que las líneas no se crucen?
- 26. Dados 2 puntos, ¿cómo dibujo una línea en ángulo recto con respecto a la línea formada por los dos puntos?
- 27. cómo calcular los puntos de control para una ruta sin problemas dado un conjunto de puntos?
- 28. Cómo generar un polígono convexo al azar?
- 29. ¿Cómo puedo calcular el área de un polígono en una base de datos MySQL cuando los puntos del polígono son Lat Longs?
- 30. Rectángulo de dibujo entre dos puntos con ancho arbitrario
No está seguro de la cantidad de cosas que se han actualizado desde entonces, pero no es la línea: 'site_points.push (site_points [0]); 'no es necesario para' LinearRing', ya que se cierran automáticamente? – dbmikus
puede por favor compartir cómo logró en http://jsfiddle.net/. eso ayudara mucho. Gracias – Profstyle