我一直在研究 openlayers 的动画功能,我可以看到使用缩放到给定点和分辨率是多么简单
view.animate({
center: position,
zoom: 11
});
但我不知道如何制作动画
map.getView().fit(extent, map.getSize());
有人能给我一些指点吗?
提前致谢
fit 函数确实支持 Openlayers 3 中的动画。第三个参数是一个可以设置不同选项(持续时间、缓动...)的对象,您可以轻松完成:
map.getView().fit(extent, map.getSize(), { duration: 1000 });
你可以看看Openlayers 3 API http://openlayers.org/en/v3.20.1/apidoc/ol.View.html#fit查看有关选项参数的更多详细信息。
我还创建了一个jsFiddle 示例 https://jsfiddle.net/ty2qj26g/你可以在哪里看到这个工作。
当心! OpenLayers v4.0.1在这里:
随着最近发布的 Openlayers 版本,与此方法相关的一些内容发生了更改,因此如果您阅读最新版本中的 fit 函数的文档Openlayers API http://openlayers.org/en/v4.0.1/apidoc/ol.View.html#fit你会发现现在只允许使用 2 个参数,因为大小不需要作为参数传递(但是,可以在 options 参数中分配)。因此,适用于 Openlayers v4.0.1 的示例如下所示:
map.getView().fit(extent, { duration: 1000 });
记住这些更改很重要,因为它可能会在您使用官方 API 时带来混乱。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)