| | |
| | | import DC from '@dvgis/dc-sdk/dist/dc.base.min' // 基础包 |
| | | import DcCore from '@dvgis/dc-sdk/dist/dc.core.min' // 核心包 |
| | | |
| | | var $ = window.$ |
| | | |
| | | DC.use(DcCore) // 安装DC核心库 |
| | | |
| | | class mobileDivForms { |
| | |
| | | * |
| | | */ |
| | | constructor(viewer, popup) { |
| | | this._viewer = viewer; |
| | | this._popup = popup; |
| | | this._position = popup.position; |
| | | this._title = popup.title; |
| | | this._content = popup.content; |
| | | this.appendPopup(); |
| | | this.isOpen = true; |
| | | this._viewer = viewer |
| | | this._popup = popup |
| | | this._position = popup.position |
| | | this._title = popup.title |
| | | this._content = popup.content |
| | | this.appendPopup() |
| | | this.isOpen = true |
| | | } |
| | | |
| | | get viewer() { |
| | | get viewer () { |
| | | return this._viewer |
| | | } |
| | | |
| | | get title() { |
| | | get title () { |
| | | return this._title |
| | | } |
| | | |
| | | get content() { |
| | | get content () { |
| | | return this._content |
| | | } |
| | | |
| | | get popup() { |
| | | get popup () { |
| | | return this._popup |
| | | } |
| | | |
| | | get position() { |
| | | get position () { |
| | | return this._position |
| | | } |
| | | |
| | | appendPopup() { |
| | | appendPopup () { |
| | | /** |
| | | * @domId 存放 dom 的id, 多个数组,单个字符串 |
| | | */ |
| | |
| | | } |
| | | |
| | | // 创建元素并追加 |
| | | createVideoWindowAll(id, className, position) { |
| | | let dom = document.getElementById('mobile-map_popup_content'); |
| | | dom.style.display = 'block'; |
| | | createVideoWindowAll (id, className, position) { |
| | | const dom = document.getElementById('mobile-map_popup_content') |
| | | dom.style.display = 'block' |
| | | |
| | | var childs = document.getElementById('mobile-map_popup_content').getElementsByTagName('div') |
| | | |
| | |
| | | |
| | | var self = this |
| | | |
| | | var el = $("<div class=''></div>") |
| | | // var el = $("<div class=''></div>") |
| | | |
| | | var el = document.createElement('div') |
| | | |
| | | // var titleDiv = $("<div class='mobiletitle'></div>").text(this._title) |
| | | // var labelContent = $("<div class='mobilelabel-content'></div>").append(this._content) |
| | | |
| | | // el.append(titleDiv) |
| | | // el.append(labelContent) |
| | | el.append(this._content) |
| | | el.appendChild(this._content) |
| | | |
| | | el.attr('id', id) |
| | | el.setAttribute('id', id) |
| | | |
| | | el.addClass(className || '') |
| | | el.setAttribute('class', className || '') |
| | | |
| | | $('#mobile-map_popup_content').append(el) |
| | | document.getElementById('mobile-map_popup_content').appendChild(el) |
| | | // let time; |
| | | // function cons(e) { |
| | | // time = setTimeout(() => { |
| | |
| | | |
| | | this._viewer.scene.postRender.addEventListener(function (e) { |
| | | if (!self.isOpen) { |
| | | return; |
| | | return |
| | | } |
| | | const windowCoord = DC.Namespace.Cesium.SceneTransforms.wgs84ToWindowCoordinates( |
| | | self._viewer.scene, |
| | |
| | | }) |
| | | } |
| | | |
| | | positionPopUp(windowCoord, id) { |
| | | positionPopUp (windowCoord, id) { |
| | | if (!windowCoord) { |
| | | return; |
| | | return |
| | | } |
| | | // console.log(windowCoord) |
| | | const wx = document.getElementById('app').clientWidth; |
| | | const x = windowCoord.x - (wx / 100 * 35); |
| | | const y = windowCoord.y - document.getElementById(id).offsetHeight - 15; |
| | | const wx = document.getElementById('app').clientWidth |
| | | const x = windowCoord.x - (wx / 100 * 35) |
| | | const y = windowCoord.y - document.getElementById(id).offsetHeight - 15 |
| | | // x = windowCoord.x - document.getElementById(id).offsetWidth |
| | | |
| | | // document.getElementById(id).style.cssText = ` |
| | |
| | | transform:translate3d(${Math.round(x)}px,${Math.round(y)}px, 0); |
| | | ` |
| | | } |
| | | closeOur() { |
| | | this.isOpen = false; |
| | | let dom = document.getElementById('mobile-map_popup_content'); |
| | | dom.style.display = 'none'; |
| | | |
| | | closeOur () { |
| | | this.isOpen = false |
| | | const dom = document.getElementById('mobile-map_popup_content') |
| | | dom.style.display = 'none' |
| | | // var childs = document.getElementById('mobile-map_popup_content').getElementsByTagName('div') |
| | | |
| | | // if (childs.length > 0) { |