2013-10-15 30 views
3

我已經通過使用繪圖工具成功創建了一個esri.geometry.Geometry.Extent對象。在我的addToMap函數中,這是onDrawEnd事件的回調函數,我想提取框的四個角的緯度,經度。我將拉伸的xmin,xmax,ymin,ymax拉到了幾何對象的我的wkid設置爲4326處。基於我的理解有限,我認爲x,y將在經過多長時間,但考慮到x的值是5550,我不認爲這是正確的。我做錯了什麼或者我誤解了什麼?拉伸範圍對象的經度和緯度

+0

你說得對,5550無效。但4326是WGS-84空間參考的代碼,這意味着x,y應該是緯度/經度值。你是什​​麼意思你「設置」到4326?在提取x,y值之前,你是否重新評估了該投影的範圍? – progrmr

+0

@progrmr在我的原始代碼中,我將所有內容都設置爲應該是4326的默認值,並且從不在任何地方設置spatialReference。在另一個測試中,我嘗試將其設置在我的地圖聲明中。在將幾何圖形重新導入到addMap後,我也試圖設置spatialReference,但這種方法並不奏效。我看的越多,我認爲它一定是esri javascript中的某種錯誤。我也看到了奇怪的行爲,當我在頁面上最小化或最大化螢火蟲時,每一個返回的幾何圖形似乎都是我所期望的,正確的緯度和經度。 – tenniguy

+0

範圍本身(ext.spatialReference.wkid)和底層映射的wkids是什麼?我認爲地圖默認爲102100(WebMercator),這將使5500更明智(取決於你在世界上的哪個地方......英格蘭? – Juffy

回答

1

您的範圍可能在Web墨卡託空間參考中。檢查您的擴展區對象的spatialReference.wkid屬性。如果它是102100或3857,那麼它是Web墨卡託。在這種情況下,使用esri.geometry.webMercatorToGeographic function轉換爲地理座標(即經度和緯度)非常容易。

如果您的範圍對象不在Web Mercator空間參考中,則必須使用GeometryService將幾何圖形投影到經度和緯度(例如WGS1984,其wkid爲4326)。 Project a point sample顯示了這是如何完成的。