Advertisement
Guest User

Untitled

a guest
Aug 26th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. //Добавляем метод в канву, который рисует картинку
  2. L.Canvas.include({
  3. _updateImg: function(layer) {
  4. let p = layer._point.round(),
  5. img = layer.options.imgEl,
  6. imgSize = layer.options.imgSize;
  7.  
  8. this._ctx.drawImage(img, p.x - imgSize[0] / 2, p.y - imgSize[1] / 2, imgSize[0], imgSize[1]);
  9. }
  10. });
  11.  
  12. //Расширяем стандартный класс
  13. const customCircleMarker = L.CircleMarker.extend({
  14. _updatePath: function () {
  15. if (!this.options.imgEl) {
  16. let img = document.createElement('img');
  17. img.src = this.options.img;
  18. this.options.imgEl = img;
  19. img.onload = () => {
  20. this.redraw();
  21. }
  22. } else {
  23. this._renderer._updateImg(this);
  24. }
  25. }
  26. });
  27.  
  28. //Используем расширенный класс
  29. return new customCircleMarker(latlng, {
  30. img: '/img/test.svg',
  31. imgSize: [32, 34],
  32. radius: 16,
  33. telemetryId: feature.properties.telemetryId,
  34. fillColor: '#fff',
  35. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement