arcgis api for js 4.11 实现分屏对比、实时联动的关键代码.txt

方法1(推荐使用,实时效果好).
// 以下要给2个视图添加事件,使其“实时联动”,包括缩放,拖动,和旋转。
view2p_1.on(["mouse-wheel", "drag", "hold"], function (event) {
    setTimeout(function(){
        // viewpoint包含但不限于extent。
        view2p_2.viewpoint = view2p_1.viewpoint;
    }, 80);
});
view2p_2.on(["mouse-wheel", "drag", "hold"], function (event) {
    setTimeout(function(){
        // viewpoint包含但不限于extent。
        view2p_1.viewpoint = view2p_2.viewpoint;
    }, 80);
});

注意:
“mouse-wheel(鼠标滚轮事件)”的触发是在滚动开始的时候(上升沿),而不是在滚动完成的时候(下降沿),
可以通过setTimeout设置延迟时间,最终得以实现。

参考:https://blog.csdn.net/zhangzhen1987730/article/details/78210029#commentBox

方法2(没有实时效果,只有最终效果).
require(["esri/core/watchUtils"], function(watchUtils) { /* code goes here */ });
whenTrue(obj, propertyName, callback) -> {WatchHandle}static
propertyName可能的取值(我发现的)stationary(静止的),ready。
watchUtils.whenTrue(view2p_1, "stationary", function () {
    // viewpoint包含但不限于extent。
    view2p_2.viewpoint = view2p_1.viewpoint;
});
watchUtils.whenTrue(view2p_2, "stationary", function () {
    // viewpoint包含但不限于extent。
    view2p_1.viewpoint = view2p_2.viewpoint;
});

猜你喜欢

转载自blog.csdn.net/weixin_42193179/article/details/91378410
今日推荐