var publicpano; //创建腾讯街景类 function streetview(){ // 创建街景 var pano = new qq.maps.Panorama(document.getElementById('street_map'), { disableMove: false, pano: '15091114130823143418500', //场景ID pov:{ heading:280, pitch:15 }, zoom:1, addressControl: true, disableCompass: true, }); publicpano = pano; } //根据三维场景点击获取的坐标点移动街景位置 function moveStreetPOI(gcj02streetPoint){ var point = new qq.maps.LatLng(gcj02streetPoint[1],gcj02streetPoint[0]); pano_service = new qq.maps.PanoramaService(); pano_service.getPano(point, 200, function (result){ if(result.svid != null){ publicpano.setPano(result.svid); }else{ swal("选择位置没有街景,请选择其它位置!","请重试!","error"); } }); } //在三维场景中点击位置,联动街景定位 var streetmap_handler; function addStreetPointHandler(){ streetmap_handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas); streetmap_handler.setInputAction(function(movement) { var pickedPosition = viewer.scene.pickPosition(movement.position); var pickedPositionString = pickedPosition.toString(); //获取地理坐标(经度、纬度、高程) var cartographic = Cesium.Cartographic.fromCartesian(pickedPosition); var longitudeString = Cesium.Math.toDegrees(cartographic.longitude); var latitudeString = Cesium.Math.toDegrees(cartographic.latitude); var heightString = cartographic.height; //var center = pickedPosition; var streetPoint = wgs84togcj02(longitudeString,latitudeString); moveStreetPOI(streetPoint); }, Cesium.ScreenSpaceEventType.RIGHT_CLICK); streetmap_handler.setInputAction(function(movement) { var csmheading = Cesium.Math.toDegrees(viewer.camera.heading); var csmpitch = -Cesium.Math.toDegrees(viewer.camera.pitch); publicpano.setPov({ heading: csmheading, pitch: csmpitch }); }, Cesium.ScreenSpaceEventType.MIDDLE_UP); } function destroyStreetPointHandler(){ streetmap_handler.destroy(); };