Tôi có trong các vĩ độ kinh độ cơ sở dữ liệu của tôi từ các đa giác do người dùng xác định. Câu hỏi của tôi là: làm cách nào để tạo lại và hiển thị chúng trên bản đồ ngay bây giờ? Điều này khá dễ làm với API Google Maps, nhưng tôi không thể tìm thấy bất kỳ tài liệu hoặc ví dụ nào về cách thực hiện điều này với OpenLayers. Có ai có kinh nghiệm làm việc này không?OpenLayers - làm thế nào để vẽ một Đa giác từ các điểm LonLat hiện có?
18
A
Trả lời
34
Sau rất nhiều thử nghiệm, tôi phát hiện ra làm thế nào để làm điều đó:
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]);
Các vấn đề liên quan
- 1. Làm thế nào để vẽ đa giác với CGPath?
- 2. Làm thế nào để tạo đa giác thiessen từ các điểm sử dụng các gói R?
- 3. Trong PostGIS, làm cách nào để tìm tất cả các điểm trong một đa giác?
- 4. Làm thế nào để vẽ đường ngang trong openLayers?
- 5. Làm thế nào để tôi có được một đa giác bao quanh điểm?
- 6. LIBGDX: Làm thế nào để vẽ một đa giác được tô đầy bằng shaperenderer?
- 7. Khoảng cách từ điểm đến đa giác
- 8. Sắp xếp các điểm của đa giác
- 9. Xác định nếu đa giác 2d có thể được vẽ bằng một quạt tam giác đơn
- 10. Bắt đầu vẽ đa giác từ nút tùy chỉnh
- 11. QGraphicsPolygonItem vẽ một đa giác mở (không đóng)
- 12. Khoảng cách từ điểm đến đa diện hoặc đa giác
- 13. Làm thế nào một số LatLng có thể được sử dụng để đặt điểm đánh dấu trên bản đồ Google, nhưng không được vẽ một Đa giác?
- 14. Vẽ 3D đa giác trong python-matplotlib
- 15. Điểm trong thuật toán đa giác xử lý các đa giác nằm ngang antemeridian
- 16. Vẽ đa giác trong XML với Android
- 17. Làm thế nào để tìm ra điểm trong đa giác trong d3.js
- 18. Vẽ đồ thị đa giác và các điểm geom_points với ggplot2
- 19. Cách vẽ đa giác trên canvas HTML5?
- 20. về việc vẽ Đa giác trong java
- 21. Canvas hình ảnh Delphi ... vẽ một khu vực (hình tam giác, hình chữ nhật, đa giác)
- 22. tìm đa giác lồi có chứa nhỏ nhất với một số lượng nhất định các điểm
- 23. Vẽ một đa giác xung quanh các nhóm dữ liệu trong MATLAB
- 24. vẽ đa giác bằng tờ rơi js
- 25. Cách tạo đa giác RGeo trong Ruby từ WKT khi đa giác có lỗi
- 26. Vẽ cạnh của một đa giác với shaders OpenGL
- 27. SQL Server 2008 Spatial: tìm một điểm trong đa giác
- 28. tìm trung tâm điểm của một đa giác trong js
- 29. Làm cách nào để tránh các hiện vật ghép cạnh đa giác trong Canvas HTML5?
- 30. Làm cách nào để tách Đa giác theo một Đường?
Không chắc có bao nhiêu điều đã được cập nhật kể từ, nhưng không phải là dòng: 'site_points.push (site_points [0]); 'không cần thiết cho' LinearRing', vì chúng tự động đóng lại? – dbmikus
bạn có thể vui lòng chia sẻ cách bạn đạt được trên http://jsfiddle.net/. điều đó sẽ giúp ích rất nhiều. cảm ơn – Profstyle