From c5ba5b0456a711d157e317f220e9c739226e7f50 Mon Sep 17 00:00:00 2001 From: Joar Wandborg Date: Tue, 10 Jan 2012 01:54:37 +0100 Subject: Installed leaflet in extlib --- extlib/leaflet/src/layer/vector/Circle.js | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 extlib/leaflet/src/layer/vector/Circle.js (limited to 'extlib/leaflet/src/layer/vector/Circle.js') diff --git a/extlib/leaflet/src/layer/vector/Circle.js b/extlib/leaflet/src/layer/vector/Circle.js new file mode 100644 index 00000000..c737c191 --- /dev/null +++ b/extlib/leaflet/src/layer/vector/Circle.js @@ -0,0 +1,51 @@ +/* + * 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, + scale = this._map.options.scale(this._map._zoom); + + this._point = this._map.latLngToLayerPoint(this._latlng); + this._radius = (this._mRadius / equatorLength) * scale; + }, + + getPathString: function() { + var p = this._point, + r = this._radius; + + if (L.Path.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); + } + } +}); \ No newline at end of file -- cgit v1.2.3