当前位置: 首页 > 软件库 > 其他开源 > 编程语言 >

vue-mapvgl

基于 mapvgl 的地图组件
授权协议 MIT
开发语言 JavaScript
所属分类 编程语言
软件类型 开源软件
地区 国产
投 递 者 洪博涛
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

vue-mapvgl 是一套基于 Vue 2.0 和百度地图 mapvgl 的地图组件,在百度 mapvgl 基础上增加 GltfThreeLayer 图层。

该组件依赖于 vue-bmap-gl,使用方式请查看文档: https://guyangyang.gitee.io/vue-mapvgl/ 

该项目基于 https://github.com/ElemeFE/vue-amap/ 修改开发。

组件

目前完成组件:

  • el-bmapv-view (图层管理器,图层的容器)
  • el-bmapv-point-layer (基础点图层 PointLayer)
  • el-bmapv-icon-layer (Icon图标图层 IconLayer)
  • el-bmapv-point-trip-layer (点轨迹图层 PointTripLayer)
  • el-bmapv-heat-point-layer (热力点图层 HeatPointLayer)
  • el-bmapv-heat-map-layer (热点图图层 HeatmapLayer)
  • el-bmapv-heat-grid-layer (热力柱图层 HeatGridLayer)
  • el-bmapv-spark-layer (烟花点图层 SparkLayer)
  • el-bmapv-circle-layer (圆图层 CircleLayer)
  • el-bmapv-ripple-layer (波纹点图层 RippleLayer)
  • el-bmapv-text-layer (文字图层 TextLayer)
  • el-bmapv-fan-layer (雷达图层 FanLayer)
  • el-bmapv-simple-line-layer (基础线图层 SimpleLineLayer)
  • el-bmapv-line-layer (宽线图层 LineLayer)
  • el-bmapv-wall-layer (立体墙图层 WallLayer)
  • el-bmapv-heat-line-layer (热力线图层 HeatLineLayer)
  • el-bmapv-line-flow-layer (蝌蚪线图层 LineFlowLayer)
  • el-bmapv-line-trip-layer (线轨迹图层 LineTripLayer)
  • el-bmapv-wall-trip-layer (墙轨迹图层 WallTripLayer)
  • el-bmapv-fly-line-layer (飞线图层 FlyLineLayer)
  • el-bmapv-shape-layer (基础面图层 ShapeLayer)
  • el-bmapv-shape-line-layer (线状面图层 ShapeLineLayer)
  • el-bmapv-polygon-layer (平面图层 PolygonLayer)
  • el-bmapv-cluster-layer (点聚合图层 ClusterLayer)
  • el-bmapv-honeycomb-layer (蜂窝图层 HoneycombLayer)
  • el-gltf-layer (百度针对gltf的实现)
  • el-gltf-three-layer (根据ThreeLayer以及ThreeJS进行扩展实现的模型加载图层)

mapvgl 自带后处理器效果

  • 炫光特效 BloomEffect
  • 发光特效 BrightEffect

mapvgl 自带工具

  • 颜色值域生成器 Intensity
  • 3D 曲线生成器 BezierCurve
  • 大地线生成器 GeodesicCurve(zh-cn/util/GeodesicCurve.md)
  • Od 曲线生成器 OdCurve
  • 插件官方文档地址 官方的话就不多说了, 这里面使用npm、yarn包管理工具自行下载 这里注意百度地图开发者平台申请的密钥ak不要错误, 要用浏览器ak 详见百度开发者开放平台 插件官方示例: 配置插件到Vue中 这里在main.js中 单独的引入可以直接参照官方其他示例 import Vue from 'vue' import BaiduMap from 'vue-baidu-map' Vu

  • 1.创建map.js export function Map(ak) { return new Promise(function (resolve, reject) { window.init = function () { resolve(BMapGL) } var script = document.createElement("script");

  • html <el-button type="primary" style="margin-left: 10px;" @click="latitude()">获取经纬度</el-button> <el-dialog width="50%" :before-close="cancel" :closable="false" :mask-closable

  • 最近有个需求就是需要向地图添加1万个标注,如果直接向地图添加标注,可能几十个没什么问题,如果添加1万个就会特别卡,然后查看百度地图文档发现可以使用mapvgl实现 一、先 index.html 中引入 <script src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=百度申请的ak"></script> <script src="http

  • <div class="order left img" @mousewheel.capture="rollImg('order')" @mousedown="move" ref="order" > 通过类名order将地图设置为底部图片 <img v-for="(item, index) in imglist"

 相关资料
  • 如果您在声明组件时更喜欢基于类的 API,则可以使用官方维护的vue-class-component装饰器: import Vue from 'vue' import Component from 'vue-class-component' // @Component 修饰符注明了此类为一个 Vue 组件 @Component({ // 所有的组件选项都可以放在这里 template:

  • 问题内容: 该脚本绘制控件,英雄,表面和地图: 有一个英雄,当玩家使用控件移动他时必须重新绘制,所有其他可绘制对象也必须重新绘制。问题在于绘制地图是一个漫长的过程,因此我创建的地图越大,英雄移动的速度就越慢,因为必须绘制地图的每个图块。有没有一种方法可以将所有图块以其他方法放置到一个位图,然后在canvas方法中绘制该位图? 问题答案: 最好的选择是只绘制地图在屏幕上可见的部分。这样,无论整个地图

  • 本文向大家介绍vue基于element的区间选择组件,包括了vue基于element的区间选择组件的使用技巧和注意事项,需要的朋友参考一下 公司的系统中,产品经理在设计时经常要求对某个字段进行区间阈值设置或者作为筛选条件。但是苦于element中没有非常契合的组件(slider组件并不支持两端均能设定),于是自己动手造了一个。 成果 最终的展示效果如下: 需求 这里以项目的需求为例,基本的需求如下

  • 本文向大家介绍基于Vue的文字跑马灯组件(npm 组件包),包括了基于Vue的文字跑马灯组件(npm 组件包)的使用技巧和注意事项,需要的朋友参考一下 一、前言 总结下最近工作上在移动端实现的一个跑马灯效果,最终效果如下: 印象中好像HTML标签的‘marquee'的直接可以实现这个效果,不过 HTML标准中已经废弃了‘marquee'标签 既然HTML标准已经废弃了这个标签,现在工作上用的是Vu

  • 1. 前言 本节我们将介绍如何使用组件(Component),组件是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树: 如何规划和设计组件是学习组件的难点,在编写组件时,我们需要不断思考如何提高组件的可复用性。 2. 慕课解释 组件是可复用的 Vue 实例,且带有一