首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从vue2-传单绘制-工具栏中提取坐标

从vue2-传单绘制-工具栏中提取坐标
EN

Stack Overflow用户
提问于 2020-08-24 22:50:51
回答 1查看 1.9K关注 0票数 1

我正在使用vue2-传单-绘图-工具栏插件来绘制地图上的形状,有人知道如何获得绘制形状的坐标吗??当标记离开这些区域时,我试图使用这些数据触发事件。

EN

回答 1

Stack Overflow用户

发布于 2020-08-26 04:38:18

您可以使用原始传单绘制与vue2leaflet。

多库:https://leaflet.github.io/Leaflet.draw/docs/leaflet-draw-latest.html

安装

代码语言:javascript
复制
npm i leaflet-draw

导入:

代码语言:javascript
复制
import L from 'leaflet';
/* eslint-disable no-unused-vars */
import LDraw from 'leaflet-draw';
/* eslint-enable no-unused-vars */
// Import leaflet draw css and icons for draw toolbar
import 'leaflet-draw/dist/leaflet.draw.css';

挂载中的添加:

代码语言:javascript
复制
// Leaflet Map Object
this.$nextTick(() => {
  this.map = this.$refs.map.mapObject;

  // Tell leaflet that the map is exactly as big as the image
  this.map.setMaxBounds(this.bounds);

  // The view model from Vue Data used in JS
  // This works, since wm refers to your view model.
  let vm = this;

  // Leaflet Draw
  // Add new FeatureGroup from leaflet for Draw objects on map
  const featureGroup = new window.L.FeatureGroup().addTo(map);

   // Create leaflet draw control menu
      const drawControl = new window.L.Control.Draw({
        position: 'topright',
        draw: {
          polyline: {
            allowIntersection: true, // Restricts shapes to simple polygons
            drawError: {
              color: 'orange',
              timeout: 2000,
              message: '<strong>Nicht erlauben<strong>',
            },
            showArea: true,
            metric: true, //m2
            repeatMode: false,
            zIndexOffset: -10000,
            shapeOptions: {
              polylineID: true,
              customArrow: false,
              color: '#000000',
              weight: 5,
              lineCap: 'round',
              lineJoin: 'bevel',
              dashArray: '',
              opacity: 1,
            },
          },
          polygon: {
            allowIntersection: false, // Restricts shapes to simple polygons
            drawError: {
              color: 'orange',
              timeout: 2000,
              message: '<strong>Nicht erlauben<strong>',
            },
            showArea: true,
            metric: true, //m2
            repeatMode: false,
            shapeOptions: {
              polylineID: false,
              color: '#000000',
              fillColor: '#2196F3',
              weight: 5,
              fillOpacity: 0.7,
              lineCap: 'round',
              lineJoin: 'bevel',
              dashArray: '',
              opacity: 1,
            },
          },
          rectangle: {
            allowIntersection: false, // Restricts shapes to simple polygons
            drawError: {
              color: 'orange',
              timeout: 2000,
              message: '<strong>Nicht erlauben<strong>',
            },
            showArea: true,
            metric: true, //m2
            repeatMode: false,
            shapeOptions: {
              polylineID: false,
              color: '#000000',
              fillColor: '#2196F3',
              weight: 5,
              fillOpacity: 0.7,
              lineCap: 'round',
              lineJoin: 'bevel',
              dashArray: '',
              opacity: 1,
            },
          },
          circle: {
            allowIntersection: false,
            showArea: true,
            metric: true, //m2
            showRadius: true,
            repeatMode: false,
            shapeOptions: {
              polylineID: false,
              color: '#000000',
              fillColor: '#2196F3',
              weight: 5,
              fillOpacity: 0.7,
              lineCap: 'round',
              lineJoin: 'bevel',
              dashArray: '',
              opacity: 1,
            },
          },
          marker: false,
          circlemarker: false,
        },
        edit: {
          featureGroup: featureGroup,
          remove: true,
          edit: {
            // Set color and fill for edited element
            selectedPathOptions: {
              color: '#000',
              fillColor: '#000',
            },
          },
        },
      })
      // Add all draw shapes on the map
      map.addControl(drawControl);
 }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63569682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档