0.8.5 • Published 7 days ago

cobona-maps-ol v0.8.5

Weekly downloads
-
License
MIT
Repository
-
Last release
7 days ago

OlMap组件

组件属性

属性名字段类型说明
centerArray默认为4326坐标系下的地图中心点坐标串,如104, 31.4
centerSRNumber指定center使用的空间参考wkid值,如4326
zoomNumber地图的缩放级别
spatialReferenceObject地图的空间坐标系
scaleNumber地图的比例尺
extentObject地图显示的空间范围
basemaplayersArray底图图层
operationlayersArray业务要素图层
drawlayersArray绘制图层,默认包含标绘图层和极坐标图层
minZoomNumber地图最小缩放级别
maxZoomNumber地图最大缩放级别
maxScaleNumber地图最大比例尺
minScaleNumber地图最小比例尺
controlsArray地图的基础控件
drawToolVisibleBoolean地图绘制工具显示状态
baseGalleryVisibleBoolean底图切换面板显示状态
MapPopupVisibleBoolean地图弹框信息状态

示例

<OlMap ref="olmap1" class="olmapContainer" :center="geoCenter" :basemaplayers="baselayers" :operationlayers="optlayers" :drawlayers="drawlayers" :controls="olcontrols" :scale="scale" :extent="extent" :minZoom="minZoom" :maxZoom="maxZoom">
</OlMap>

data(){
	return{
        //geoCenter: [106, 35],
        geoCenter: {
            x: 1.3460696940618768e7,
            y: 3565382.802801566,
            spatialReference: {
            wkid: 3857,
            }
        },
		minZoom: 1,
        maxZoom: 17,
        scale: 50000,
        extent: [
            [110, 24],
            [123, 34],
        ],
        extent1: {
            xmin: 110.2425,
            ymin: 25.2425,
            xmax: 134.2324,
            ymax: 39.3242,
            spatialReference: {
            wkid: 4326,
            }
        },
		baselayers: [{
            id: "geoqMap",
            visible: true,
            zIndex: 0,
            url: "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}",
            },
            {
            id: 'tdtst',
            visible: false,
            zIndex: 0,
            url: 'http://t3.tianditu.com/DataServer?T=img_w&tk=31d5dd4b4d1e3705848e1dfc0d00fc19&x={x}&y={y}&l={z}'
            }
          ],
		optlayers: [{
            type: "vectorLayer",
            url: "http://dev.cobona.cn:8079/rest/queryobjlist",
            id: "layer773",
            label: '自然村点图层',
            visible: true,
            opacity: 1,
            zIndex: 3,
            geometrytype: "point",
            where: {
                data: {
                	objname: "envelement",
                	where: "layerid = 773",
                }
            },
            //分段渲染
            jsonstr: `{"field":"typeid","breaksInfo":[{"minValue":10.999,"maxValue":11.001,"style":{"type":"circle","radius":8,"fill":{"color":"rgba(81, 125, 237, 1)"},"stroke":{"color":"rgba(237, 81, 81,1)","width":1}}}],"type":"breaks"}`
                },{
            type: "nuclearWindLayer",
            id: "layerwind2020",
            label: '风场',
            visible: true,
            opacity: 1,
            zIndex: 2,           
            dataurl: "http://dev.cobona.cn:8079/rest/queryobjlist",
            listurl: 'http://dev.cobona.cn:8079/rest/getQueryData',
            minZoom: 7,
            maxZoom: 15,
            factor: 10,
            where: {
                data: {
                    instanceid: 911,
                    rastertype: 5,
                    // id:'348530'   //可选,与上面查询条件互斥

                }

# 组件功能测试页面
npm run dev

组件方法

方法名参数返回说明
getMapNoneNone获取地图对象
getViewNoneNone获取地图容器视图对象
setMapExtentArray/ObjectNone设置地图显示范围,Array格式:[left, bottom,right, top]默认采用4326坐标系;Object格式: {xmin: , ymin: xmax: ,ymax: ,spatialReference:{wkid:3857}}
setMapScaleNumberNone设置地图比例尺
setMapResolutionNumberNone设置地图精度
centerAtArray/ObjectNone地图中心点移动到指定坐标位置,Array格式:120.8619, 30.4749;Object格式: {x:1.3460696940618768E7 , y: 3565382.802801566 ,spatialReference:{wkid:3857}}
setZoomNumberNone设置地图的缩放级别
addmapControlstringNone添加地图控件,包括Rotate, Attribution, Fullscreen, Zoomslider, ScaleLine, MousePosition, MousePosition3857, OverviewMap, ZoomToExtent
addLayerObjectNone添加图层,图层参数说明见Layer类型说明
removeLayerstringNone移除指定id的图层
showLayerstringNone显示指定id的图层
hideLayerstringNone隐藏指定id的图层
setLayerRenderObjectNone更改矢量图层的渲染,参数Object:{layerid:'',layerrender:'' }
getLayerAttrFieldsstringArray获取图层的属性列表
getAllLayersNoneArray获取地图的所有图层
getBaseLayersNoneArray获取所有底图图层
getOperationLayersNoneArray获取所有业务要素图层
getDrawLayersNoneArray获取所有绘制图层
getPolarLayersNoneArray获取所有极坐标图层
getLayersByLayerTypestringArray
getLayerByIdstring-图层idObject查询指定id的地图图层
showLayersByTypestringNone显示指定类型的图层类型,包含baselayer, operationlayer, drawlayer, polaylayer
hideLayersByTypestringNone隐藏指定类型的图层类型,包含baselayer, operationlayer, drawlayer, polaylayer
clearLayersByTypestringNone清空指定类型的图层类型,包含baselayer, operationlayer, drawlayer, polaylayer
removeLayersByTypestringNone删除指定类型的图层类型,包含baselayer, operationlayer, drawlayer, polaylayer
PrjCircleQueryObjectObject执行点缓冲查询,参数对象包含中心点投影坐标,半径和查询图层的id数组,如{point:112343443, 343434343, radius: 5000, layerids: 'layer750', 'layer541'}
AttriQueryObjectObject属性查询,参数包含图层id和属性过滤条件,如{layerids: 'layer513', where: "typename = 陈屯小学 or typeid=10"}
SpatialQueryObjectObject空间查询,参数包含输入几何的坐标串数组,和指定查询的图层,如{geom: [[[],[],[]]] ,layerids:"layer695"}

组件事件

事件名参数说明
centerchange{prjCenter: Object, geoCenter: Object}地图中心点坐标移动
extentchangeextent地图可见范围变化
zoomchangezoom地图缩放级别变化
resolutionchangeresolution地图分辨率变化
clickevent, 转发openlayers地图对象点击监听事件地图点击事件
singleclickevent,转发openlayers地图对象点击监听事件地图点击事件
dblclickevent,转发openlayers地图对象双击监听事件地图双击事件
moveendevent,转发openlayers地图对象鼠标移动结束监听事件地图视图内鼠标移动结束事件
pointermoveevent,转发openlayers地图对象鼠标移动监听事件地图视图内鼠标移动事件

图层类型

类型名说明
vectorLayer矢量要素图层
nuclearImageLayer浓度计量结果图层
nuclearPolarLayer极坐标图层
nuclearWindLayer风场图层
esriFeatureLayerArcGIS要素图层
esriMapServerLayerArcGIS动态地图
esriTileServerLayerArcGIS切片地图

vectorLayer

矢量要素图层,通过数据库接口快速生成地图图层。

通过封装openlayers的Vector实现,除列表提供的属性外,可直接使用openlayers中Vector自有的图层属性和方法。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,值为vectorLayer
geometrytypestring图层的几何类型,point,line,polygon
whereobject图层数据源的查询过滤条件, 对象包含data属性,为object对象,data属性对象中包含objname和where条件语句。如{ data: { objname: "envelement", where: "layerid = 772" }}
urlstring数据查询接口,如http://dev.cobona.cn:8079/rest/queryobjlist
jsonstrstring图层的渲染样式,如{"type":"simple","symbol":{"color":255,0,0,255,"size":6,"angle":0,"xoffset":0,"yoffset":0,"type":"esriSMS","style":"esriSMSSquare","outline":{"color":255,0,0,255,"width":3.75,"type":"esriSLS","style":"esriSLSSolid"}}}

示例:

{
    type: "vectorLayer",
    url: "http://dev.cobona.cn:8079/rest/queryobjlist",
    id: "layer772",
    label: '电厂点图层',
    visible: true,
    opacity: 1,
    zIndex: 3,
    geometrytype: "point",
    where: {
        data: {
            objname: "envelement",
            where: "layerid = 772",
        },

    },
    //示例
    // jsonstr: `{"style":{"type":"circle","radius":6,"fill":{"color":[255,0,0]},"stroke":{"color":[0,255,0],"width":1}},"type":"simple"}`
    jsonstr: `{"type":"simple","symbol":{"color":[255,0,0,255],"size":6,"angle":0,"xoffset":0,"yoffset":0,"type":"esriSMS","style":"esriSMSSquare","outline":{"color":[255,0,0,255],"width":3.75,"type":"esriSLS","style":"esriSLSSolid"}}}`

nuclearImageLayer

栅格图像图层,提供分析结果栅格图片地图快速上图。

通过封装openlayers的Image类实现,除列表提供的属性外,可直接使用openlayers中Image自有的图层属性和方法。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,nuclearImageLayer
factortypeNumber因子类型,1-核素浓度,2、3、9-剂量
idsArray查询要素的id的数组,如34282,34286,34290,34294,34298
timesArray与ids对应的时间信息,如"2019-01-02_09-00","2019-01-02_10-00","2019-01-02_11-00","2019-01-02_12-00","2019-01-02_13-00"
rangeurlstring图片渲染值范围接口,如"http://dev.cobona.cn:8079/static/html/maxMinRasterdataValue"
dataurlstring数据查询接口,如"http://dev.cobona.cn:8079/rest/queryobjlist"
imageurlstring图片生成接口,如"http://dev.cobona.cn:8079/static/html/rasterimagesServlet"

示例:

{
    type: "nuclearImageLayer",
    id: "nuclearImageLayerDoseTime",
    visible: true,
    label: '逐时剂量',
    opacity: 1,
    zIndex: 4,
    factortype: 2,                     
    ids:[33942,33946,33950,33954,33958],
    times:["2019-01-02_09-00","2019-01-02_10-00","2019-01-02_11-00","2019-01-02_12-00","2019-01-02_13-00"],                   
    rangeurl: "http://dev.cobona.cn:8079/static/html/maxMinRasterdataValue",
    dataurl: "http://dev.cobona.cn:8079/rest/queryobjlist",
    imageurl: "http://dev.cobona.cn:8079/static/html/rasterimagesServlet"
 }
方法
方法名输入输出说明
nextImageNumberNone不带参数默认显示下一张图像,带参数则显示当前索引+n后的图像,n为输入参数的值
getRasterByTimestingNone显示某个时刻的分析结果图像,如"2019-01-03_11-00"

示例

const layer = this.$refs.olmap1.getLayerById("nuclearImageLayerDoseTime")
if (layer) {
    // layer.nextImage()//不传参数默认,索引加1,即是下一时刻的图像
    layer.nextImage(2) //参数为2,则输出对应ids当前索引+2后的图片
}
const layer = this.$refs.olmap1.getLayerById("nuclearImageLayerDoseTime")
if (layer) {                
    layer.getRasterByTime("2019-01-03_11-00") //显示某个时刻的剂量
}

nuclearPolarLayer

极坐标图层

通过封装openlayers的VectorLayer实现,除列表提供的属性外,可直接使用openlayers中VectorLayer自有的图层属性和方法。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,nuclearPolarLayer
centerArray极坐标的中心点,只能传经纬度的值,120.8619, 30.4749
distanceArray离中心点同心圆的距离半径数组,如5, 10, 15, 20, 25, 30
unitstring距离单位,如kilometers、meters
sectorAngleArray弧段的角度
textAngleNumber方向标注的角度

示例

{
    type: "nuclearPolarLayer",
    id: "polarLayer",
    label: '极坐标1',
    visible: true,
    opacity: 1,
    zIndex: 1,
    center: [120.8619, 30.4749], //极坐标的中心点只能传经纬度的值
    distance: [5, 10, 15, 20, 25, 30],
    unit: "kilometers",
    sectorAngle: [11.25, 11.25],
    textAngle: -11.25
}

nuclearWindLayer

风场图层

通过封装openlayers的VectorLayer实现,除列表提供的属性外,可直接使用openlayers中VectorLayer自有的图层属性和方法。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,nuclearWindLayer
minZoomNumber图层的最小缩放级别
maxZoomNumber图层的最大缩放级别
minResolutionNumber图层的最小分辨率
maxResolutionNumber图层的最大分辨率
factorNumber因子类型
dataurlstring获取风场数据的接口
listurlstring获取风场数组列表的接口
whereObject风场图层的过滤条件,为json对象格式,包含data属性对象,有两种写法:1) {data:{instanceid: 911, rastertype: 5}}; 2){data: {id: '348530' }}

示例:

{
    type: "nuclearWindLayer",
    id: "layerwind2020",
    label: '风场',
    visible: true,
    opacity: 1,
    zIndex: 2,    
    dataurl: "http://dev.cobona.cn:8079/rest/queryobjlist",
    listurl: 'http://dev.cobona.cn:8079/rest/getQueryData',
    minZoom: 7,
    maxZoom: 15,
    factor: 10,
    where: {
        data: {
            instanceid: 911,
            rastertype: 5,
            // id:'348530'   //可选,与上面互斥

        }

    }
}

esriFeatureLayer

接入arcgis地图服务图层创建要素图层,使用openlayers的Vector实现。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,esriFeatureLayer
urlstring地图服务地址,到图层索引号

示例

{
    type: 'esriFeatureLayer',
    url: 'http://kaps.esrichina.com.cn/arcgis/rest/services/ma/chinaCountry/MapServer/0',
    id: 'nanhaiborder',
    visible: true,
    opacity: 1,
    zIndex: 3
},

esriMapServerLayer

接入arcgis地图服务图层创建要素图层,使用openlayers的ImageLayer实现。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,esriMapServerLayer
urlstring动态地图服务地址

示例:

{
    type: 'esriMapServerLayer',
    url: 'http://kaps.esrichina.com.cn/arcgis/rest/services/SampleWorldCities/MapServer',
    id: 'china1',
    visible: true,
    opacity: 1,
    zIndex: 2
}

esriTileServerLayer

接入arcgis地图服务图层创建要素图层,使用openlayers的TileLayer实现。

属性
属性名类型说明
idstring图层的唯一id
zIndexNumber图层叠加显示的顺序
visibleboolean图层是否可见
opacityNumber图层的透明度,0-1
labelstring图层的显示名称
typestring图层的封装类型,esriTileServerLayer
urlstring切片地图服务图层地址

示例

{
    type: 'esriTileServerLayer',
    id: 'tile001',
    url: 'http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer',
    visible: true,
    opacity: 1,
    zIndex: 1
}

MapLegend

组件属性

属性名类型说明
layersArray显示图例的图层数组

layer的结构有两种,一种是矢量一个栅格;

示例

<map-legend :layers="legendlayers" v-show="maplegendShow"></map-legend>
data(){
	return{
		legendlayers:[
			{//矢量图层传入结构
                    label: 'label',
                    geometrytype: 'point',
                    jsonstr: `{"type":"unique","field":"名称","defaultStyle":{"type":"circle","radius":3,"stroke":{"color":"red","width":1},"fill":{"color":"white"}},"uniqueInfo":[{"value":"X119","style":{"type":"circle","radius":3,"stroke":{"color":"green","width":1},"fill":{"color":"green"}}},{"value":"X104","style":{"type":"circle","radius":3,"stroke":{"color":"blue","width":1},"fill":{"color":"blue"}}},{"value":"X331","style":{"type":"circle","radius":3,"stroke":{"color":"orange","width":1},"fill":{"color":"orange"}}}]}`,
                    layerid: 'dianchagn'
                },
            {
				//栅格图层传入结构,色带
                label: '剂量',
                colordata:{
                    values: [0.000001, 0.0001, 0.001, 0.01, 0.1, 1, 10, 20, 50, 100, 1000],
                        colors: ['#9966FF40', '#744DFF40', '#0000FF40', '#007F8040', '#00BE4040', '#00FF0040', '#80FF0040', '#C1FE0040', '#C0FF0040', '#FFFF0040', '#FFD90040', '#FFB30040', '#FF8B0040']
                }
            
        }]
	}
}
0.8.5

7 days ago

0.8.4

17 days ago

0.8.3

22 days ago

0.8.1

25 days ago

0.8.2

25 days ago

0.8.0

25 days ago

0.7.9

26 days ago

0.7.8

7 months ago

0.7.7

1 year ago

0.7.6

1 year ago

0.7.5

1 year ago

0.6.9

2 years ago

0.6.8

2 years ago

0.7.2

1 year ago

0.7.1

1 year ago

0.7.4

1 year ago

0.7.3

1 year ago

0.7.0

2 years ago

0.6.7

2 years ago

0.6.6

2 years ago

0.4.8

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.5.5

2 years ago

0.5.0

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.9

2 years ago

0.6.3

2 years ago

0.6.2

2 years ago

0.6.5

2 years ago

0.4.7

2 years ago

0.6.4

2 years ago

0.4.6

2 years ago

0.6.1

2 years ago

0.6.0

2 years ago

0.3.0

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.1.9

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.9

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.4.5

2 years ago

0.2.7

2 years ago

0.4.4

2 years ago

0.2.6

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.4.1

2 years ago

0.2.3

2 years ago

0.4.0

2 years ago

0.2.2

2 years ago

0.4.3

2 years ago

0.2.5

2 years ago

0.4.2

2 years ago

0.2.4

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago