import { useRouter } from 'vue-router' import { useStore } from '@/store/root' import { uniqBy } from '@/utils/utils' export const useInitMap = function () { const store = useStore() //初始化地图 // onReady(store.currentFloor, () => { // const facilityList = window.Map_QM.getAllIcon().flat(Infinity) // // const list = facilityList.map(item => { // item.imgUrl.replace('./', '/') // return item // }) // // window.Map_QM.addEventListener('shop', onClickShop, false) // // store.SET_FACILITY_LIST(uniqBy(list, 'type')) // // window.Map_QM.renderer.domElement.addEventListener('webglcontextlost', onContextLost) // }) } //点击地图店铺box function onClickShop(event) { const store = useStore() store.shop.houseNum && store.shop.formatColor && window.Map_QM.changeMapIPState(store.shop.houseNum, store.shop.formatColor) if (event.data) { showMapDialog() window.Map_QM.addElementLabel(document.getElementById('shopInfo'), event.data.xaxis, event.data.yaxis) store.SET_SHOP(event.data.shopData) window.Map_QM.changeMapIPState(event.data.shopNum, '#AD8164') } else { hideMapDialog() } } //地图弹框消失 export function hideMapDialog() { document.getElementById('shopInfo').style.visibility = 'hidden' } //显示地图弹框 function showMapDialog() { document.getElementById('shopInfo').style.visibility = 'visible' } //地图初始化 function onReady({ floorOrder, location, angle }, callback) { window.Config.getInstance(callback, 0, floorOrder, location, angle) //设备楼栋, 设备楼层, 点位(机器点位直连主干道而不在主干道上), 方向 84 85 } //监听地图上下文丢失 刷新页面 function onContextLost() { const router = useRouter() router.push('/') location.reload() }