Sha256: bcbd25b486734177e2660e4c0b425a83ff6f0c6ea7fae67c473abb6e914db06e
Contents?: true
Size: 1.57 KB
Versions: 3
Compression:
Stored size: 1.57 KB
Contents
/* * L.Circle is a circle overlay (with a certain radius in meters). */ L.Circle = L.Path.extend({ initialize: function (latlng, radius, options) { L.Path.prototype.initialize.call(this, options); this._latlng = latlng; this._mRadius = radius; }, options: { fill: true }, setLatLng: function (latlng) { this._latlng = latlng; this._redraw(); return this; }, setRadius: function (radius) { this._mRadius = radius; this._redraw(); return this; }, projectLatlngs: function () { var equatorLength = 40075017, hLength = equatorLength * Math.cos(L.LatLng.DEG_TO_RAD * this._latlng.lat); var lngSpan = (this._mRadius / hLength) * 360, latlng2 = new L.LatLng(this._latlng.lat, this._latlng.lng - lngSpan, true), point2 = this._map.latLngToLayerPoint(latlng2); this._point = this._map.latLngToLayerPoint(this._latlng); this._radius = Math.round(this._point.x - point2.x); }, getPathString: function () { var p = this._point, r = this._radius; if (this._checkIfEmpty()) { return ''; } if (L.Browser.svg) { return "M" + p.x + "," + (p.y - r) + "A" + r + "," + r + ",0,1,1," + (p.x - 0.1) + "," + (p.y - r) + " z"; } else { p._round(); r = Math.round(r); return "AL " + p.x + "," + p.y + " " + r + "," + r + " 0," + (65535 * 360); } }, _checkIfEmpty: function () { var vp = this._map._pathViewport, r = this._radius, p = this._point; return p.x - r > vp.max.x || p.y - r > vp.max.y || p.x + r < vp.min.x || p.y + r < vp.min.y; } });
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
leaflet-ruby-0.3.beta4 | lib/leaflet/src/layer/vector/Circle.js |
leaflet-ruby-0.3.beta3 | lib/leaflet/src/layer/vector/Circle.js |
leaflet-ruby-0.3.beta1 | lib/leaflet/src/layer/vector/Circle.js |