/*
* @Author: 叶思铧(292184)
* @Date: 2022-06-17 14:45:22
* @Descripttion:定制化的方法,不可随便复用
* @LastEditors: yesihua
* @LastEditTime: 2022-08-29 14:48:38
*/
import ChangePoint from './ChangePoint.js'
let ol = window.ol
const point = {
//添加气泡窗
changePoint: undefined,
domObj: {},
addPop(position, id, name, data, options) {
if (!point.changePoint) {
let mapObj = {
mapGlobalData: {
projection: window.proj,
mapType: window.mapType,
},
}
point.changePoint = new ChangePoint(mapObj)
}
let center = point.changePoint.transformation(position)
let map = window.map
let ele = document.getElementById(id)
let oCopy = ele.cloneNode(true)
//console.log(data, '我的关注测试')
oCopy.setAttribute('olPopId', data.id)
oCopy.id = null
oCopy.style.display = 'inline'
let span = oCopy.getElementsByTagName('span')[0]
let closeButton = oCopy.getElementsByClassName(options.closeCalss)[0]
// point.domObj[data.id] = {
// dom: closeButton,
// }
closeButton.addEventListener('click', () => {
options.clickEvents(data)
//closeButton.style.display = 'inline'
})
span.innerHTML = name
let overlay = new ol.Overlay({
element: oCopy,
autoPan: true,
autoPanAnimation: {
duration: 250, //当Popup超出地图边界时,为了Popup全部可见,地图移动的速度.
},
})
overlay.setPosition(center)
map.addOverlay(overlay)
return closeButton
},
}
export default point
point.js
最新推荐文章于 2024-05-15 20:43:52 发布