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秒,
})
})