- 博客(43)
- 收藏
- 关注
原创 openlayers10+vue3+ts
在 Vue 3 应用程序中使用 Vite 工具链和 OpenLayers10 创建一个简单的地图实例,并实现一些基础的地图交互功能。
2024-08-27 17:32:42
357
原创 使用 xe2 调整 3dTileset 模型位置并获取模型矩阵 modelMatrix
src\examples\tile\edit\offset\index.html 目录下,设置 3dTileset 地址,拖动模型,监听 modelMatrix 变化。
2024-04-28 18:20:28
416
原创 图片预览功能,兼容移动端单指拖动,双指缩放功能
预览时,可以使用键盘 ←、→ 切换图片,↑、↓ 缩放图片,Space 显示 1:1 图片,ESC 退出预览。
2024-03-23 16:27:05
427
原创 悬浮工具球(仿 iphone 辅助触控)
悬浮工具球(仿 iphone 辅助触控),兼容移动端 touch 事件,点击元素以外位置收起,解决鼠标抬起触发元素的点击事件问题
2024-03-09 14:36:30
1569
原创 Vue.js2+Cesium1.103.0 十五、计算方位角
【代码】Vue.js2+Cesium1.103.0 十五、绘制视锥,并可实时调整视锥姿态。
2024-02-08 10:10:59
912
1
原创 Vue.js2+Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态
【代码】Vue.js2+Cesium1.103.0 十四、绘制视锥,并可实时调整视锥姿态。
2023-11-18 11:29:47
1166
4
原创 Vue.js2+Cesium1.103.0 十三、通过经纬度查询 GeoServer 发布的 wms 服务下的 feature 对象的相关信息
【代码】Vue.js2+Cesium1.103.0 十三、通过经纬度查询 GeoServer 发布的 wms 服务下的 feature 对象的相关信息。
2023-10-17 09:10:25
386
原创 Vue.js2+Cesium1.103.0 十二、绑定多个 DOM 弹窗,并跟随视角实时更新位置
封装自定义窗口,通过 js 调用,添加到地球场景中,并跟随视角实时更新位置,可手动或自动销毁。
2023-09-26 18:33:00
835
原创 Vue.js2+Cesium1.103.0 十一、Three.js 炸裂效果
【代码】Vue.js2+Cesium1.103.0 十一、Three.js 炸裂效果。
2023-08-29 17:59:52
969
原创 Vue.js2+Cesium1.103.0 十、加载 Three.js
【代码】Vue.js2+Cesium1.103.0 十、加载 Three.js。
2023-08-28 18:13:48
430
原创 Vue.js2+Cesium1.103.0 七、Primitive 绘制航线元素
用 Primitive 绘制航线元素,包括航点图标,航线线段,线段距离标注,航点序号,海拔标注,总航程等信息。
2023-08-08 23:30:00
1124
2
原创 Vue.js2+Cesium1.103.0 六、标绘与测量
点,线,面的绘制,可实时编辑图形,点击折线或多边形边的中心点,可进行添加线段移动顶点位置等操作,并同时计算出点的经纬度,折线的距离和多边形的面积。
2023-08-08 09:12:08
430
原创 Vue.js2+Cesium1.103.0 五、WMS 服务加载,控制图层显隐
【代码】Vue.js2+Cesium 五、WMS 服务加载,控制自图层显隐。
2023-08-02 23:45:00
841
1
原创 Vue.js2+Cesium1.103.0 四、模型对比
Cesium 版本 1.103.0,低版本 Cesium 不支持 Compare 对比功能。
2023-08-01 19:19:03
525
原创 Vue.js2+Cesium1.103.0 一、初始化
Vue.js2+Cesium一、初始化DemoGithub初始化环境node V10.15.0npm 6.4.1<template> <div id="cesium-container" style="width: 100%; height: 100%;" /></template><script>/* eslint-disable no-undef */export default { data () {
2022-05-30 23:00:00
525
原创 Vue.js 带拖动和播放功能的时间轴
drag-timeline-vue带拖动功能的时间轴DemoGithub📦 Installnpm install --save drag-timeline-vue全局引用main.jsimport DragTimelineVue from 'drag-timeline-vue/packages/index'Vue.use(DragTimelineVue)🔧 Usage <DragTimelineVue v-model="timelineValue"
2022-03-05 23:58:08
9820
18
原创 vue-awesome-swiper 实现 tab 切换效果
vue-awesome-swiper 实现 tab 切换效果Githubvue-awesome-swiper 3.x安装 vue-awesome-swiper 3.x 时会自动安装 swiper 4.xnpm install vue-awesome-swiper@3.1.3 --save<template> <div id="app"> <h5swiper ref="swiperTitle" class="swiper-title" :op
2021-08-16 17:21:36
862
原创 知识图谱可视化vue.js + d3.js
Github前端 vue.js + d3.js。需求上部区域展示所有的概念类别、以及画布内他们的个数展示所有关系类别,以及画布内他们的个数显示所有的概念场景(scenes 字段)、关系场景(source 字段)及画布的个数点击可选中和取消选中,取消选中时,批量隐藏对应的类别图像区域有按钮可控制缩放整个可视化页面可全屏图像区域内图形化展示概念名、关系名、关系概率(如有)非展示 id;未缩放时,图形展示可看清的大小,不一定展示全局。单击概念,弹出概念选项:a.固定:固定节点位置.
2021-05-06 10:04:37
10189
12
原创 Vue.js2+ArcGIS3五、轨迹回放
Github轨迹回放功能<template> <div id="map-container" style="width:100%;height:100%;"> <div style="position:absolute;right:50px;top:50px;z-index:999;"> <button @click="trackPlayBackInit()">轨迹回放.
2020-12-26 16:21:04
1308
1
原创 Vue.js 实现时间轴功能
GitHub时间轴组件封装Main.js<template> <div class="timeline-main"> <div class="timeline-axis"> <div class="axis-item" v-for="(time, index) in dateTimes" :key="index"> <div class="axis-item-tick" .
2020-11-28 10:57:51
5674
2
原创 Vue.js+VueRouter+Vuex 实现用户登录、注销功能
GitHubVue.js+Vue Router+Vuex实现用户登录、注销功能登录页面Login.vue<template> <div class="login"> <input type="text" placeholder="用户名" v-model="loginForm.username"> <input type="text" placeholder="密码".
2020-11-26 09:51:22
2544
原创 Vue.js实现日历功能
Vue.js 实现日历效果Github功能需求使用 Vue.js 实现指定年月的日历表,配合后台接口数据,添加对应日期的空气质量描述等信息。后台传递当月空气质量指数的数据,前端生成日历表后将空气质量指数添加到对应日期上。空气质量数据示例:data.json{ "code": 200, "msg": "", "data": [{ "time": "2020-08-01", "kqzl": "优" }, { "time": "202
2020-11-17 14:09:21
2893
6
原创 Vue.js2+ArcGIS3五、加载 ArcGIS REST Services
PreviewOnline Demo空间统计方法<template> <div id="map-container" style="width:100%;height:100%;"> <div style="position:absolute;right:50px;top:50px;z-index:999;"> <button @click="spatialStatisticsFun('point'
2020-11-14 16:27:45
1943
3
原创 Vue.js2+ArcGIS3四、热力图
PreviewOnline Demo封装空间测量方法带删除当前点击的标注功能。measure.jsexport default { measure(map, gisConstructor, options) { options.map = map // eslint-disable-next-line no-undef dojo.declare('measureLayer', gisConstructor.GraphicsLayer, {
2020-11-14 16:27:13
3894
14
原创 Vue.js2+ArcGIS3三、添加自定义图形标注
PreviewOnline Demo添加标注功能方法封装<template> <div id="map-container" style="width:100%;height:100%;"> <button style="position:absolute;right:50px;top:50px;z-index:999;" @click="addCustomSymbolsLayer">自定义标注</button&g
2020-11-14 16:26:41
3358
原创 Vue.js2+ArcGIS3二、绘制工具(标绘、空间测量、空间统计)
PreviewOnline Demo一、ArcGIS REST Services二、加载 MapServer加载 MapServer 可以使用 ArcGISTiledMapServiceLayer(切片服务图层)、ArcGISDynamicMapServiceLayer(动态服务图层)方式。底图使用 ArcGISTiledMapServiceLayer,有标注的地图服务使用 ArcGISDynamicMapServiceLayer。<template> <div id=
2020-11-14 16:26:07
3096
8
原创 Vue.js2+ArcGIS3一、初始化地图
PreviewOnline DemoArcGISArcGIS 官方文档一、安装 ArcGIS 官方加载依赖 esri-loaderesri-loader 官网npm install esri-loader --save-dev二、添加地图初始化页面InitMap.vue<template> <div id="map-container" style="width:100%;height:100%;"> </div></temp
2020-11-14 16:25:31
3317
8
原创 不借助 vue-cli 工具自行搭建 vue 项目
一、初始化项目1.1、新建 package.jsonnpm init1.2、安装依赖npm 安装 vue、vue-router、vue-loader、webpack、webpack-cli,这些只是开发环境所需要的依赖,使用 --save-dev 安装到开发环境(见 package.json devDependencies)下:npm install vue vue-router vue-loader webpack webpack-cli --save-devwebpack 4.x 已经把
2020-06-16 16:09:39
2480
原创 关于弹窗拖拽问题
Element DialogElement Dialog 对话框,自身不带拖拽功能,需要添加。dialogDrag.js/* eslint-disable */import Vue from 'vue'// v-dialogDrag: 弹窗拖拽Vue.directive('dialogDrag', { bind(el, binding, vnode, oldVnode) { const dialogHeaderEl = el.querySelector('.el-dialog__h
2020-06-11 17:57:40
428
原创 el-tree 在 v-for 中获取不到 getCheckedNodes
element-ui 中 el-tree 在 v-for 中使用,获取不到 getCheckedNodes() 和 getCheckedKeys(),报错:Error in v-on handler: “TypeError: this.$refs.tree.getCheckedNodes is not a function” <el-tree :data="layerControl" show-checkbox node-key="id" :props="defaultProps"
2020-05-19 18:29:44
3628
原创 Vue.js2+OpenLayers6 八、聚合
标绘功能封装import Draw from 'ol/interaction/Draw' // 标绘 data() { return { drawState: null, // 绘制状态 } }, methods: { // 根据 name 移除图层 removeLayerByName(name) { let layers = this.map.getLayers().getArray() let filtLaye
2020-05-14 17:57:35
606
原创 Vue.js2+OpenLayers6 七、热力图
一、封装空间测量方法官网的空间测量示例。方法封装:measure.jsimport Draw from 'ol/interaction/Draw'import { unByKey} from 'ol/Observable.js'import Overlay from 'ol/Overlay'import { getArea, getLength} from 'ol/sphere.js'import { Point, LineString, Polygon} f
2020-05-13 18:16:59
650
原创 Vue.js2+OpenLayers6 六、空间测量
一、添加移动动画效果import { easeIn, easeOut } from 'ol/easing' // 动画效果二、封装方法InitMap.vue // 设置中心点 setCenterPoint(point) { this.map.getView().animate({ center: point, duration: 500, easing: easeOut }) let centerPo
2020-05-12 18:14:22
734
原创 Vue.js2+OpenLayers6 五、标绘(添加自定义文字标注)
《Vue.js+OpenLayers 4、添加自定义矢量标注》中有对添加自定义矢量标注的方法进行封装,如果有多个标注,添加的方式是一个标注作为一个图层,这样会生成很多图层。这里修改并优化一下,一个图层中添加多个矢量标注。一、添加标注功能方法封装InitMap.vue methods: { // 设置标注文字样式 getStyls(feature, iconOption) { let Styles = [] Styles.push( new Ol
2020-05-11 18:32:20
2893
原创 Vue.js2+OpenLayers6 四、添加覆盖图层
一、添加标注功能方法封装添加矢量标注所需依赖,并封装方法。InitMap.vue/* eslint-disable no-unused-vars */import mapConfig from '@/mapConfig' // 地图配置import "ol/ol.css"import Map from "ol/Map"import View from "ol/View"import TileLayer from "ol/layer/Tile"import TileWMS from "ol/
2020-05-09 17:53:24
1205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人