我很困惑。我有一個觀點:如何將矢量圖層座標轉換爲Openlayers中的地圖經度和緯度
x= -12669114.702301
y= 5561132.6760608
我從DrawFeature控制器在矢量圖上繪製了一個正方形。
這些數字看起來......呃......太大了,但它們似乎起作用,因爲如果我後來畫出一個具有所有相同點的正方形,它就處於相同的位置,所以我認爲它們必須是正確的。
問題是當我嘗試將此點轉換爲經度和緯度。
我使用:
map.getLonLatFromPixel(pointToPixel(points[0]));
凡點[0]是一個幾何點,並且pointToPixel函數採用任何點並將其轉換的像素(由於getLonLatFromPixel需要的像素)。它通過簡單地獲取點的x,並將其作爲像素x等來實現。
經緯度我得到的順序:
lat: -54402718463.864
lng: -18771380.353223
這是非常明顯的錯誤。我很困惑。我嘗試投影這個對象,使用:
.transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
但我真的不明白它,我敢肯定,我做錯了,反正。
我的代碼是在這裏:http://pastie.org/909644
我在虧損還算是的。座標似乎是一致的,因爲我可以重複使用它們以獲得相同的結果......但它們看起來比我在openLayers網站上看到的任何示例都大...
謝謝,我真的很難在各種預測中纏繞我的頭... – Jenny 2010-04-09 13:06:08
其實我有一個問題...我會再次正式提問,但是:如果我做的是相反的(point.transform(新的OpenLayers.Projection(「EPSG:4326」),新的OpenLayers.Projection(「EPSG:900913」)); 對於常規經緯度點,我得到NaN(不是數字?) 。這是預期的嗎? – Jenny 2010-04-09 13:16:57
http://stackoverflow.com/questions/2607734/openlayers-projections – Jenny 2010-04-09 13:19:02