Tôi khá bối rối. Tôi có một điểm:Cách chuyển đổi tọa độ Lớp Vector thành Bản đồ Vĩ độ và Kinh độ trong Phần mở rộng
x= -12669114.702301
y= 5561132.6760608
Tôi lấy từ hình vuông trên lớp vectơ với bộ điều khiển DrawFeature.
Những con số có vẻ ... ồ ... rất lớn, nhưng chúng dường như hoạt động, bởi vì nếu sau này tôi vẽ một hình vuông với tất cả các điểm giống nhau, nó ở cùng vị trí, vì vậy tôi thấy chúng phải đúng .
Vấn đề là khi tôi cố gắng chuyển đổi điểm này thành vĩ độ và kinh độ.
Tôi đang sử dụng:
map.getLonLatFromPixel(pointToPixel(points[0]));
đâu điểm [0] là một điểm hình học, và các chức năng pointToPixel mất bất kỳ điểm nào và biến nó thành một điểm ảnh (kể từ khi getLonLatFromPixel cần một pixel). Nó thực hiện điều này bằng cách đơn giản lấy điểm x, và biến nó thành pixel x, v.v.
Các vĩ độ và kinh độ tôi nhận được là vào thứ tự của:
lat: -54402718463.864
lng: -18771380.353223
này là rất rõ ràng là sai. Tôi đã thực sự bối rối. Tôi cố gắng chiếu đối tượng này, sử dụng:
.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
Nhưng tôi không thực sự hiểu và chắc chắn tôi đã làm điều đó không chính xác, dù sao đi nữa.
Mã của tôi ở đây: http://pastie.org/909644
Tôi sắp bị thua lỗ. Các tọa độ có vẻ phù hợp, bởi vì tôi có thể tái sử dụng chúng để có được kết quả tương tự ... nhưng chúng dường như lớn hơn bất kỳ ví dụ nào tôi thấy trên trang web openLayers ...
Cảm ơn, tôi đã thực sự gặp khó khăn khi gói đầu quanh các dự án khác nhau ... – Jenny
Thực ra tôi có câu hỏi ... Tôi sẽ hỏi lại chính thức, nhưng: Nếu tôi làm ngược lại (point.transform (OpenLayers.Projection mới ("EPSG: 4326"), OpenLayers.Projection mới ("EPSG: 900913")); Đến điểm vĩ độ/điểm thông thường, tôi nhận được NaN (không phải là số?) cho bất kỳ giá trị âm nào. – Jenny
http://stackoverflow.com/questions/2607734/openlayers-projections – Jenny