当前位置: 首页 > 工具软件 > goto > 使用案例 >

ArcGIS API for JS中的goTo方法总结

吉凯捷
2023-12-01

goTo方法的参数可以是两个或一个。当只有一个参数时,是一个数组;当是两个参数时,第一个参数是数组(一维或二维)或对象或某个图层的graphics,第二个参数是duration。
示例:

 view.goTo([112.6, 22.542])
 ------------------------------------------
mapView.goTo([113.6042903, 22.5501197], {
	duration: 2000 //视角跳转时长为2秒
})
---------------------------------------------
mapView.goTo([
		[113.59764, 22.49856],
		[113.59513, 22.50922],
		[113.60482, 22.51036],
		[113.60669, 22.49959],
		[113.59764, 22.49856]
	], {
	duration: 2000
});
---------------------------------------------
 mapView.goTo({
		target: [113.60389, 22.54591],
		zoom: 13,
	    heading: 48,
	    tilt: 40
	}, {
	   duration: 2000, //视角跳转时长为2秒,
	}).then(function () {
	   // console.log("跳转完成");
	})
-------------------------------------------------
	mapView.goTo(videoPointLayer.graphics, {
   	duration: 2000 //视角跳转时长为2秒
   	})

1、可以使用定时器创建连续的动画

  goTo返回一个承诺,该承诺在动画完成时解决。这个承诺可能会被链接以创建一系列动画。
          view.goTo([112.6, 22.542])
            .then(function() {
              return view.goTo([113.6, 25.542]);
            })
            .then(function() {
              return view.goTo([113.6, 22.542]);
            });

2、点击,回到初始化位置以及视角

      backToOldVisualAngle() {
        var mapView = global.mapView;
        mapView.goTo({
          target: [113.60389, 22.54591],
          zoom: 13,
          heading: 48,
          tilt: 40
        }, {
          duration: 2000, //视角跳转时长为2秒,
        }).then(function () {
          // console.log("跳转完成");
        })
      },


		// 下面这个camera属性似乎不灵但是,
        // mapView.goTo({
        //   camera: {
        //     position: {
        //       x: 113.60389,
        //       y: 22.54591
        //       // z: 0
        //     },
        //   },
        //   zoom: 13,
        //   heading: 48,
        //   tilt: 40
        // }, {
        //   duration: 2000,
        // });


3、扶正视角,但是不回到初始位置

backToOldVisualAngle() {
        var mapView = global.mapView;
        mapView.goTo({
          zoom: 13,
          heading: 48,
          tilt: 40
        }, {
          duration: 2000, //视角跳转时长为2秒,
        }).then(function () {
          // console.log("跳转完成");
        })
      },

4、 target: [113.6, 22.542], 可以换为
center: {
x: 113.6,
y: 22.542,
spatialReference: {wkid: 4490}
},
并添加参考系属性

  view.when(function () {
     view.goTo({
         // target: [113.6, 22.542],
         center: {
           x: 113.6,
           y: 22.542,
           spatialReference: {wkid: 4490}
         },
         zoom: 13,
         heading: 80, // 旋转角
         tilt: 30 // 倾斜角
       }, {
         duration: 2000 // 视角跳转时长为2秒,
       })
     })
 类似资料: