我正在編寫一個擴展折線功能的Leaflet插件。在我的插件中,我正在使用SVGPathSegList接口訪問路徑段。但是根據(jù)Chrome DevTools的說明,該接口將在Chrome 48中刪除。我正在尋找另一種訪問路徑段的可能性。這是我的小提琴。(function () { var __onAdd = L.Polyline.prototype.onAdd, __onRemove = L.Polyline.prototype.onRemove, __updatePath = L.Polyline.prototype._updatePath, __bringToFront = L.Polyline.prototype.bringToFront; L.Polyline.include({ onAdd: function (map) { __onAdd.call(this, map); this._textRedraw(); }, onRemove: function (map) { __onRemove.call(this, map); }, bringToFront: function () { __bringToFront.call(this); this._textRedraw(); }, _textRedraw: function () { var textNodes = this._path.parentElement.getElementsByTagName('text'), tnIndex; if (textNodes.length > 0) { for (tnIndex = textNodes.length - 1; tnIndex >= 0; tnIndex -= 1) { textNodes[tnIndex].parentNode.removeChild(textNodes[tnIndex]); } } if (this.options.measurements) { this.setText(); } }, setText: function () { var path = this._path, points = this.getLatLngs(), pathSeg, prevPathSeg, center, angle, rotation, textNode; /* * If not in SVG mode or Polyline not added to map yet return * setText will be called by onAdd, using value stored in this._text */ if (!L.Browser.svg || typeof this._map === 'undefined') { return this; }
不推薦使用的SVG pathSegList的替代方法
牛魔王的故事
2019-11-19 14:33:51