copy Rectangle implementation

This commit is contained in:
Vladimir Agafonkin 2013-12-12 15:04:04 -05:00
parent 33f4e72cc4
commit 7cd67edf71
2 changed files with 29 additions and 1 deletions

View File

@ -158,7 +158,8 @@ var deps = {
'geometry/LineUtil.js',
'layer/vector2/Polyline.js',
'geometry/PolyUtil.js',
'layer/vector2/Polygon.js'
'layer/vector2/Polygon.js',
'layer/vector2/Rectangle.js'
],
desc: 'New vector layers implementation.'
},

View File

@ -0,0 +1,27 @@
/*
* L.Rectangle extends Polygon and creates a rectangle when passed a LatLngBounds object.
*/
L.Rectangle = L.Polygon.extend({
initialize: function (latLngBounds, options) {
L.Polygon.prototype.initialize.call(this, this._boundsToLatLngs(latLngBounds), options);
},
setBounds: function (latLngBounds) {
this.setLatLngs(this._boundsToLatLngs(latLngBounds));
},
_boundsToLatLngs: function (latLngBounds) {
latLngBounds = L.latLngBounds(latLngBounds);
return [
latLngBounds.getSouthWest(),
latLngBounds.getNorthWest(),
latLngBounds.getNorthEast(),
latLngBounds.getSouthEast()
];
}
});
L.rectangle = function (latLngBounds, options) {
return new L.Rectangle(latLngBounds, options);
};