【发布时间】:2013-10-23 17:39:46
【问题描述】:
我已经通过使用绘图工具成功创建了一个 esri.geometry.Geometry.Extent 对象。在作为 onDrawEnd 事件回调的 addToMap 函数中,我想提取框四个角的纬度、经度。我为 Geometry 对象设置了 wkid 为 4326 的扩展的 xmin,xmax,ymin,ymax。根据我有限的理解,我假设 x,y 会在 lat long 但考虑到 x 的值是 5550 我不认为这是正确的。我做错了什么或者我误解了什么?
【问题讨论】:
-
你说得对,5550 无效。但是 4326 是 WGS-84 空间参考的代码,这意味着 x,y 应该是纬度/经度值。你是什么意思你“设置” wkid 为4326?在提取 x,y 值之前,您是否将范围重新投影到该投影?
-
@progrmr 在我的原始代码中,我将所有内容都保留为默认值,应该是 4326,并且从未在任何地方设置空间参考。在另一个测试中,我尝试在我的地图声明中设置它。在将几何图形重新放入 addMap 后,我也确实尝试设置了 spatialReference,但这也不起作用。我越看越觉得它一定是 esri javascript 中的某种错误。我还看到奇怪的行为,当我在页面上最小化或最大化萤火虫时,我返回的每个几何图形似乎都符合我的预期,即正确的纬度和经度。
-
范围本身(ext.spatialReference.wkid)和底层地图的wkids是什么?我认为地图默认为 102100(WebMercator),这会使 5500 更合理(取决于您在世界的哪个位置......英格兰?
-
默认完全取决于您首先添加到地图的地图服务。如果它是 ArcGIS Online 服务,则可能是 Web Mercator(WKID 102100 或 3857)。正如@Juffy 暗示的那样,Web Mercator 中的 5500 位于本初子午线以东 5.5 公里处。
-
在我的 addToMap 函数中,当我输出到控制台时,从进入它的范围开始的 spatialReference.wkid 设置为 4326。不知道当它似乎设置时如何获得 5500 的 x 值正确。
标签: javascript arcgis esri