let lng = this.results[0]._properties._DgLng._value
let lat = this.results[0]._properties._DgLat._value
var place = this.viewer.entities.add({ position: this.Cesium.Cartesian3.fromDegrees(lng, lat), billboard: { image: marker }, label : { text : name, font : '14pt Source Han Sans CN', //字体样式 fillColor: this.Cesium.Color.BLACK, //字体颜色 backgroundColor: this.Cesium.Color.AQUA, //背景颜色 showBackground:true, //是否显示背景颜色 style: this.Cesium.LabelStyle.FILL, //label样式 outlineWidth : 2, verticalOrigin: this.Cesium.VerticalOrigin.CENTER,//垂直位置 horizontalOrigin: this.Cesium.HorizontalOrigin.CENTER,//水平位置 pixelOffset:new this.Cesium.Cartesian2(0,30) //偏移 } }) this.viewer.camera.flyTo({ destination: this.Cesium.Cartesian3.fromDegrees(lng, lat, 500000), //摄像机的最终位置 duration: 2 })
有时候需要通过接收2个参数:经度 纬度 来实现相机的位置和标点
但是试来试去就是跳转不了,后来把lng lat 直接换成数字 就可以
最后去翻了一下文档 Cesium.Cartesian3后面接收的都是Number类型
而我的 lng lat都是String类型 只需要将lng lat转为Number类型即可