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;
});
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值