SuperMap iClient3D for WebGL教程-S3MTilesLayer查詢

S3MTileslayer是SuperMap iClient3D for WebGL用于加載各類多源數(shù)據(jù)生成的s3m緩存的圖層堂飞,是在開發(fā)過程中必然會使用到的圖層滓玖,這節(jié)課程就來講解一個(gè)基礎(chǔ)功能湾戳,查詢。
S3MTileslayer有已經(jīng)封裝好的查詢,通過設(shè)置setQueryParameter和添加pickEvent事件來實(shí)現(xiàn)查詢。

//設(shè)置屬性查詢參數(shù)
                layer.setQueryParameter({
                    url: 'http://www.supermapol.com/realspace/services/data-jinjiang/rest/data',
                    dataSourceName: 'jinjiang',
                    dataSetName: 'test',
                    keyWord: 'SmID'
                });
        //注冊鼠標(biāo)點(diǎn)擊事件
        viewer.pickEvent.addEventListener(function(feature){
            var title = Cesium.defaultValue(feature.NAME,'');
            var description = Cesium.defaultValue(feature.DES,'');
            title.innerText = title;
            des.innerText = description;
            myimg.src = "./images/" + title + ".jpg";
        });

先說這種使用方式的優(yōu)點(diǎn):簡單易用寞冯,有明確的接口說明渴析。但這樣的應(yīng)用方式也有很大的弊端:(1)查詢條件過于苛刻晚伙,必須是數(shù)據(jù)服務(wù),keyword必須是SMID(2)必須同時(shí)設(shè)置查詢條件和pickEvent事件才能觸發(fā)查詢俭茧。
在很多應(yīng)用中咆疗,查詢的屬性表并不是通過數(shù)據(jù)服務(wù)來發(fā)布的,這個(gè)時(shí)候又怎么來實(shí)現(xiàn)點(diǎn)選查詢功能呢母债?
這里將實(shí)現(xiàn)步驟分為三步:
1午磁、擴(kuò)展鼠標(biāo)事件
2尝抖、獲取選中對象,構(gòu)建查詢參數(shù)
3迅皇、執(zhí)行查詢昧辽,解析結(jié)果
一、擴(kuò)展鼠標(biāo)事件
這里擴(kuò)展鼠標(biāo)左鍵單擊事件登颓,也可根據(jù)需求擴(kuò)展成右鍵搅荞、鼠標(biāo)移動等。

let selecthandler = new Cesium.ScreenSpaceEventHandler(scene.canvas );
 selecthandler.setInputAction(e => {
    //點(diǎn)擊回調(diào)事件
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

二框咙、獲取選中對象
在s3mTileslayer的方法中是通過getSelection來獲取選中對象的smid咕痛,在點(diǎn)擊的回調(diào)事件中加入獲取選中對象smid的方法

scene.pick(e.position);
let selectedLayer = scene.layers._selectedLayer;
let id = selectedLayer.getSelection()[0];

為防止對象選中較慢,獲取選中對象之前通過scene.pick再次選中對象
三喇嘱、執(zhí)行查詢
這里構(gòu)建一個(gè)最簡單的方式茉贡,通過smid直接獲取對象的方式來查詢對象。這里通過axios執(zhí)行g(shù)et請求

that.$http .get(dataconfig.dataurl + id + ".json").then(result => {
    let data=result.data
})

到這里就完成了一個(gè)最簡單的自定義查詢者铜,下面來看完整代碼

let selecthandler = new Cesium.ScreenSpaceEventHandler(scene.canvas );
 selecthandler.setInputAction(e => {
    //點(diǎn)擊回調(diào)事件
    scene.pick(e.position);
    let selectedLayer = scene.layers._selectedLayer;
    let id = selectedLayer.getSelection()[0];
    that.$http .get(dataconfig.dataurl + id + ".json").then(result => {
        let data=result.data
    })
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

至于更復(fù)雜的查詢方式腔丧,都可以根據(jù)這種模式來實(shí)現(xiàn)。
這節(jié)課程就到這里作烟,下節(jié)課程再見悔据。歡迎留言、轉(zhuǎn)發(fā)俗壹、評論科汗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绷雏,隨后出現(xiàn)的幾起案子头滔,更是在濱河造成了極大的恐慌,老刑警劉巖涎显,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坤检,死亡現(xiàn)場離奇詭異,居然都是意外死亡期吓,警方通過查閱死者的電腦和手機(jī)早歇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讨勤,“玉大人箭跳,你說我怎么就攤上這事√肚В” “怎么了谱姓?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長刨晴。 經(jīng)常有香客問我屉来,道長路翻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任茄靠,我火速辦了婚禮茂契,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘慨绳。我一直安慰自己账嚎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布儡蔓。 她就那樣靜靜地躺著郭蕉,像睡著了一般。 火紅的嫁衣襯著肌膚如雪喂江。 梳的紋絲不亂的頭發(fā)上召锈,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機(jī)與錄音获询,去河邊找鬼涨岁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吉嚣,可吹牛的內(nèi)容都是我干的梢薪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼尝哆,長吁一口氣:“原來是場噩夢啊……” “哼秉撇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秋泄,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤琐馆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后恒序,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘦麸,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年歧胁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了滋饲。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喊巍,死狀恐怖屠缭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玄糟,我是刑警寧澤勿她,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布袄秩,位于F島的核電站阵翎,受9級特大地震影響逢并,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜郭卫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一砍聊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧贰军,春花似錦玻蝌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贰盗,卻和暖如春许饿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背舵盈。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工陋率, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秽晚。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓瓦糟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赴蝇。 傳聞我的和親對象是個(gè)殘疾皇子菩浙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348