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();
|
};
|