我正在我的地图上创建一个“书签”功能,通过ol.View.calculateExtent()记录当前视图的范围。一旦我掌握了这个范围,我就坚持下去(在‘EPSG:900913’中没有损失精度)。
现在的问题是,如果我将这个范围输入到ol.View.fitExtent()中,我得到的视图并不完全相同,我得到的是一个稍微“缩小”的视图。
坐标是完全相同的,地图大小(ol.Map.getSize())甚至分辨率(ol.View().getResolution())都是一样的,但每次我调用记录的“视图”时,它都比记录的更远。
你知道如何准确地记录当前的“视图”并准确地重放它吗?这是舍入吗?我不应该使用fitExtent吗?
注意:这并不总是“发生!”在高缩放时,它有时可以准确地记录下来,并返回到相同的视图- 2.388657133911758,1.194328566955879和305.748113140705的分辨率,当记录时,似乎不会表现出这种行为。
发布于 2015-11-27 20:24:04
在v3.7.0中,它已被ol.View.fit取代
将ol.View.fitExtent()和ol.View.fitGeometry()替换为ol.View.fit() ...这将两个以前不同的函数组合到一个更灵活的调用中,该调用接受一个几何图形或一个范围。
https://stackoverflow.com/questions/31606197
复制相似问题