1.0.15 • Published 2 years ago

hjl-canvas-map v1.0.15

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

该项目是为了封装一个canvas坐标系绘制方法.以方便地图类型项目的绘制.

测试界面启动

npm run serve

ts文件打包

npm run build 打包后位置为 dist

项目笔记

  • 项目主要包括的类型有 EasyMap(地图)、OverLay(覆盖物)、layer(图层) 三种类型

  • 项目中的为了保证坐标轴方向可控,编写了 Context2DProxyCanvasRenderingContext2D对象进行了代理.

    其中新增了

    • canvasPointToMapPoint canvas坐标转换成map坐标
    • mapPointToCanvasPoint map坐标转换成canvas坐标
    • saveDraw 保存绘制内容,绘制完成后还原上下文设置
    • saveMapDraw 保存绘制内容,在地图坐标系中绘制.会之后还原上下文设置
    • clearCanvas 清空绘制
    • translateCenter 原点移动到canvas中心
    • axisRotate 旋转坐标轴

    其中重构了

    • 绘制中包含坐标和角度的方法(例如 moveTo lineTo等)
    • save restore 方法会进行计数.编译回到最初状态

    使用注意事项

    • 在以 canvas坐标系 内绘制时,应该使用原来的 CanvasRenderingContext2D 进行坐标处理,若使用 Context2DProxy 会绘制错误.一般会在 saveDraw 时绘制基于 canvas坐标系
  • 项目中使用 EventHandlerMapEventTarget 对事件进行分发处理.

    其中包含了 PCEventHandlerMobileEventHandler 两个处理器. 这两个处理器会处理 canvas 上的事件,并 dispatchEventMapEventTarget 中. 其中EasyMapOverLayerLayer 都继承了 MapEventTarget. 注意: 现在只实现了PCEventHandler的部分操作.这个地方需要进行思考.如何更合理的处理事件分发.避免在每个MapEventTarget子类中都重写 dispatchEvent 方法

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.12

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago