線上直播系統原始碼,滑鼠懸停後彈出氣泡
線上直播系統原始碼,滑鼠懸停後彈出氣泡實現的相關程式碼
1、程式碼總體結構
/* 建立一個圖形圖層,滑鼠停在該圖層上的物件時,彈出氣泡 */ //建立圖形圖層 let gl = getLayer(datas) //設定事件監聽 setEvent(gl) //將圖形圖層加入地圖 map.add(gl)
2、建立圖形圖層(GraphicsLayer)
function getLayer(datas){ let gl = new GraphicsLayer({ id: 'layer-test-1', opacity: 0.8 }) //在繪製該圖層中繪製各種物件 for (let i in datas) { let s = datas[i] let g = new Graphic({ symbol: { type: 'simple-marker', // style: 'square', size: ...,//根據不同情況,控制點的大小和顏色 color: ..., outline: { color: [ 128, 128, 128, 0.5 ], width: '0.5px' } }, geometry: { type: 'point', longitude: s.x, latitude: s.y }, attributes: {//寓資料於圖形屬性 code: s.code, name: s.name, ... } }) gl.add(g) } return gl }
3、新增事件
function setEvent (gl) { let view = map.view let mouseOn = view.on('pointer-move', function (event) {//在MapView中新增滑鼠監控事件 view.hitTest(event).then((res) => { if (res.results.length) { let results = res.results.filter((result) => { // 檢查圖形是否屬於感興趣的圖層 return result.graphic.layer.id === gl.id }) if (results.length > 0) { let g = results[0].graphic let geo = g.geometry let point = new Point(geo.x, geo.y, view.spatialReference) view.popup.open({ location: point, title: '標題', content: '內容,html格式' }) } } else { view.popup.close() } }) }) gl.on('layerview-destroy', function (event) {//當該圖形圖層關閉時移除該滑鼠監控事件 mouseOn.remove() }) }
MapView是全域性性的,當我們建立一個圖層,然後新增一個滑鼠監聽事件,很自然的,當該圖層關閉時,應當移除該事件。注意view.on()會返回事件物件,利用它就可以實現移除。還有一個問題,假如MapView多次新增監聽事件,比如不同的圖層都新增一個,會相互影響嗎?我估計是不會,系統應當做了處理。就好像jquery中,我們不停地通過$(function(){})來繫結window.onload事件,不管寫多少個,都沒有問題,都有效,不會衝突。
4、彈出氣泡
程式碼就是監聽事件裡的,再摘錄一次,方便講解。
let g = results[0].graphic//懸停所處物件 let geo = g.geometry //注意座標系要與view保持一致!這個非常重要!否則可能會報錯,說找不到.x之類 let point = new Point(geo.x, geo.y, view.spatialReference) view.popup.open({ location: point, title: '標題', content: '內容,html格式' })
以上就是 線上直播系統原始碼,滑鼠懸停後彈出氣泡實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2841928/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 線上直播原始碼,自定義氣泡效果(BubbleView)原始碼View
- 線上直播系統原始碼,彈出警告/提示類彈窗原始碼
- 直播系統app原始碼,用遞迴實現氣泡排序APP原始碼遞迴排序
- VUE 實現 Studio 管理後臺(六):滑鼠懸停顯示彈出視窗Vue
- app直播原始碼,css給數字或文字在滑鼠懸停時新增下劃線動畫APP原始碼CSS動畫
- 線上直播系統原始碼,平臺彈窗自適應裝置原始碼
- 線上直播系統原始碼,前後端大檔案上傳程式碼分析原始碼後端
- 線上直播系統原始碼,自定義底部 BottomNavigationBar原始碼Navigation
- 滑鼠懸浮連結彈出說明層
- 線上直播原始碼,Dialog使用詳情(中間彈框)原始碼
- 線上直播系統原始碼,實現搜尋後介面顯示商品列表效果原始碼
- Android:會呼吸的懸浮氣泡Android
- 線上直播系統原始碼,橫向無限迴圈滾動的單行彈幕效果原始碼
- el-table滑鼠懸停變色
- 滑鼠懸停新增遮罩及圖示。遮罩
- 視訊直播原始碼,提醒類彈窗,到時間後自動彈出原始碼
- 線上直播系統原始碼,flutter 巢狀滑動實現原始碼Flutter巢狀
- 線上直播系統原始碼,當前版本號頁面呈現原始碼
- 線上直播系統原始碼,Dart-Flutter DateTime日期轉換原始碼DartFlutter
- 教育直播原始碼:如何進行線上教育系統搭建?原始碼
- 成品直播原始碼,輪播圖無縫切換以及自動懸停原始碼
- 滑鼠懸浮小圖彈出大圖效果詳解
- 線上直播系統原始碼,進入新的介面後自動重新整理內容原始碼
- CSS 滑鼠懸浮動畫暫停效果CSS動畫
- e/易語言 按鈕介面彈出氣泡提示
- 線上直播系統原始碼,vue實現搜尋文字高亮功能原始碼Vue
- 線上直播系統原始碼,迴圈滾動RecyclerView的實現原始碼View
- 線上直播系統原始碼,Vue3中全域性配置 axios原始碼VueiOS
- 滑鼠懸浮連結底部出現橫線
- UWP 取消GridView、ListView滑鼠選中、懸停效果View
- js css滑鼠懸停顯示下拉選單JSCSS
- 線上直播系統原始碼,滾動式內容展示控制元件原始碼控制元件
- 呼叫支付介面,實現直播帶貨系統原始碼的線上支付原始碼
- 線上直播系統原始碼,LinearLayout下多個ListView實現滾動原始碼View
- 教育直播原始碼:線上教育系統搭建要注重這些方面原始碼
- 直播系統app原始碼,自定義可以暫停的倒數計時APP原始碼
- 百萬線上的美拍直播彈幕系統架構實現架構
- jQuery 滑鼠懸浮連結彈出跟隨圖片詳解jQuery