openlayer添加自定义图片图层
openlayer添加自定义图片图层
这个就是有一种图片,把他放到openlayer里面去!
首先引入相关的库文件
import Projection from 'ol/proj/Projection'
import Static from 'ol/source/ImageStatic'
import Map from 'ol/Map'
import ImageLayer from 'ol/layer/Image'
import View from 'ol/View'
import VectorLyr from 'ol/layer/Vector'
import VectorSource from 'ol/source/Vector'
import { getCenter } from 'ol/extent'
import Polygon from 'ol/geom/Polygon'
import Feature from 'ol/Feature'
import { Circle as CircleStyle, Style, Fill, Stroke } from 'ol/style'
import Point from 'ol/geom/Point'
import { Heatmap as HeatmapLayer } from "ol/layer";
然后编写javascript代码。
initMap() {
const extent = [0, 0, 500, 700] // 图片范围
const projection = new Projection({ // 创建投影
code: 'EPSG:3857',
units: 'pixels', // 像素单位
extent: extent,
axisOrientation: 'seu'
})
if (!this.map) { // 如果地图不存在,就创建
this.map = new Map({
layers: [
new ImageLayer({ // 创建一个图像图层
title: 'baseMap',
source: new Static({
url: '图片地址',
projection: projection,
imageExtent: extent
})
})
],
target: 'heatmapDiv', // 绑定的地图显示元素
view: new View({
projection: projection,
center: getCenter(extent),
zoom: 2,
maxZoom: 3
})
})
} else { // 如果存在就修改已存在地图的源
let base = this.getLayerFromMap(this.map, 'baseMap') // 获取地图中是否存在该图层
base.setSource(new Static({ // 设置源数据
url: this.area.map2d,
projection: projection,
imageExtent: extent
}))
this.map.setView(new View({ // 设置视图位置
projection: projection,
center: getCenter(extent),
zoom: 2.0,
}))
}
}
// 根据图层title获取地图图层,如果有就返回图层,没有就返回null
getLayerFromMap(map, name) {
var layers = map.getLayers() // 获取地图所有图层
var layer = null
layers.forEach((item, index) => {
if (item.values_.title !== undefined) {
if (item.values_.title === name) {
layer = item
return layer
}
}
})
return layer
}
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2018-03-28 简单的Django向HTML展示动态图片 案例——小白
2018-03-28 简单的Django实现图片上传,并存储进MySQL数据库 案例——小白