var viewer,selectedEntity; function onload(SuperMap3D) { viewer = new SuperMap3D.Viewer('SuperMap3DContainer'); var scene = viewer.scene; var widget = viewer.SuperMap3DWidget; selectedEntity = viewer.entities.add({ name : 'selected' }); try{ var promise = scene.addS3MTilesLayerByScp('http://localhost:8090/iserver/services/3D-osgb/rest/realspace/datas/jinjiang/config',{ name : 'jinjiang' }); SuperMap3D.when(promise,function(layer){ scene.camera.setView({ destination : SuperMap3D.Cartesian3.fromDegrees(118.548,24.803, 600) }); },function(e){ if (widget._showRenderLoopErrors) { var title = '渲染时发生错误,已停止渲染。'; widget.showErrorPanel(title, undefined, e); } }); } catch(e){ if (widget._showRenderLoopErrors) { var title = '渲染时发生错误,已停止渲染。'; widget.showErrorPanel(title, undefined, e); } } var handler = new SuperMap3D.ScreenSpaceEventHandler(scene.canvas); handler.setInputAction(function(e){ var layers = scene.layers; var layer = layers.find('jinjiang'); var id,url,dataSourceName,dataSetName; if(SuperMap3D.defined(layer)){ id = scene.getSelectID(e.position, layer); if(SuperMap3D.defined(id)){ url = 'http://localhost:8090/iserver/services/data-osgb/rest/data'; dataSourceName = 'vector'; dataSetName = 'test'; var filter = 'SmID=' + id; var promise = queryFeature(SuperMap3D,filter,url,dataSourceName,dataSetName); SuperMap3D.when(promise,function(features){ var entity = new SuperMap3D.Entity({ description : createDescription(SuperMap3D,features[0].data), name : features[0].data['NAME'] }); viewer.selectedEntity = entity; }); } } },SuperMap3D.ScreenSpaceEventType.LEFT_CLICK); } /** * 创建描述信息 * @param SuperMap3D * @param properties * @returns {string} */ function createDescription(SuperMap3D,properties){ var simpleStyleIdentifiers = ['SMID','SMUSERID','ID','类型ID','tName','modelName']; var html = ''; for ( var key in properties) { if (properties.hasOwnProperty(key)) { if (simpleStyleIdentifiers.indexOf(key) !== -1) { continue; } var value = properties[key]; if (SuperMap3D.defined(value) && value !== '') { html += '