Leaflet.Path.Transform

其他资源 2025-08-02

Leaflet.Path.Transform

拖动/旋转/调整大小处理程序,以获取传单矢量特征。

包括L.Path.Drag,因此您无需再次包含它。

在codesandbox.io上打开

要求

传单1.0+

API

npm install leaflet-path-transform --save

或包括dist/l.path.transform.js文件

 require ( 'leaflet-path-transform' ) ;

var map = L . map ( 'map-canvas' ) . setView ( center , zoom ) ;
var polygon = L . polygon ( [ ... , ... ] , { transform : true } ) . addTo ( map ) ;

polygon . transform . enable ( ) ;
// or partially:
polygon . transform . enable ( { rotation : true , scaling : false } ) ;
// or, on an already enabled handler:
polygon . transform . setOptions ( { rotation : true , scaling : false } ) ;

如果您已经更改了转换层的几何形状,并希望该工具反映更改,请使用:

 // you have changed the geometry here
layer . setLatLngs ( [ ... ] ) ;
// and want to update handlers:
layer . transform . reset ( ) ;

选项

  • options.handleroptions- - 边缘标记选项
  • options.boundsoptions- - 边界矩形选项
  • 选项。RotateHandleoptions- - 旋转手柄线样式
  • options.handlelegenth-数字- 像素中旋转手柄的长度。默认为20。
  • 选项。旋转-布尔值- 启用/禁用旋转。默认为true
  • 选项。尺度-布尔值- 启用/禁用缩放。默认为true
  • 选项。均匀尺度-布尔值- 使用统一的缩放(维持纵横比)。默认为true

手柄

对于角落和旋转手柄插件提供2个类:L.Pathtransform.Handle和L.Pathtransform.RotateHandle,它们始于L.Circlemarker,您可以根据需要调整它们。另外,您可以通过通过选项提供相应的构造函数来使用其他兼容标记类型。

光标:

处理程序将调整大小的光标分配给手柄。您可以通过设置选项来覆盖该选项。

事件

以下事件在变换的层上发射

  • rotateStart,旋转,旋转- {旋转:}
  • scalestart,比例,比例尺- {scale:}
  • 变换,变换,变换- {旋转:...,比例:...,矩阵:}

拖动

要控制功能拖动,请参见L.Path.Drag文档。

 polygon . dragging . disable ( ) ;
polygon . dragging . enable ( ) ;

托多

  • 测试
  • 旋转精确修复
  • 传单1.x支撑
  • 传单。编辑适配器
  • 传单。绘制适配器
  • 画布渲染器的支持

执照

版权(c)

特此免费授予获得此软件副本和相关文档文件副本(“软件”)的任何人,以无限制处理该软件,包括无限制的使用权,复制,复制,修改,合并,合并,发布,分发,分发,分发,订婚,和/或允许软件的副本,并允许对以下条件提供以下条件,以下是以下条件。

上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。

该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人都不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权的诉讼中还是其他责任,是由软件,使用或与软件中的使用或其他交易有关的。

下载源码

通过命令行克隆项目:

git clone https://github.com/w8r/Leaflet.Path.Transform.git