1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import ol from './ol'
- class createCluster {
- constructor(option, map) {
- this.layer = null
- this.flag = false
- let layer = map.getLayers()
- this.map = map
- this.imgUrl = option.imgUrl
- this.layerName = option.layerName
- this.distance = option.distance || 10
- for (let i = 0; i < layer.array_.length; i++) {
- if(layer.array_[i].className_ === this.layerName){
- this.flag = true
- this.layer = layer.array_[i]
- }
- }
- }
- openCluster() {
- if (this.flag) {
- let scale = 0.13
- let features = this.layer.getSource().getFeatures()
- var source = new ol.source.Vector({
- features: features
- });
-
- var clusterSource = new ol.source.Cluster({
- distance: this.distance,
- source: source
- });
-
- let style = new ol.style.Style({
- image: new ol.style.Icon({
- src: this.imgUrl,
- anchor: [0.5, 0.5],
- scale: scale,
- })
- })
- this.layer.setSource(clusterSource)
- this.layer.setStyle(style)
- }
- }
- }
- function openNoticeLayerCluster(noticeImgUrl,map) {
- let cluster = new createCluster({
- 'layerName' : 'noticeLayer',
- 'imgUrl' : noticeImgUrl
- },map)
- cluster.openCluster()
- }
- function openReportLayerCluster(reportImgUrl,map) {
- let cluster = new createCluster({
- 'layerName' : 'reportLayer',
- 'imgUrl' : reportImgUrl
- },map)
- cluster.openCluster()
- }
- function openCultureLayerCluster(cultureImgUrl,map) {
- let cluster = new createCluster({
- 'layerName' : 'cultureLayer',
- 'imgUrl' : cultureImgUrl
- },map)
- cluster.openCluster()
- }
- function openOtherLayerCluster(otherImgUrl,map) {
- let cluster = new createCluster({
- 'layerName' : 'otherLayer',
- 'imgUrl' : otherImgUrl
- },map)
- cluster.openCluster()
- }
- export default {openNoticeLayerCluster,openReportLayerCluster,openCultureLayerCluster,openOtherLayerCluster}
|