Merge pull request #157 from Phyks/polygons
Render polygons from URL hash and pass it to BRouter server
This commit is contained in:
commit
85e8a72148
2 changed files with 55 additions and 19 deletions
|
|
@ -114,12 +114,16 @@ BR.NogoAreas = L.Control.extend({
|
||||||
|
|
||||||
getOptions: function() {
|
getOptions: function() {
|
||||||
return {
|
return {
|
||||||
nogos: this.drawnItems.getLayers()
|
nogos: this.drawnItems.getLayers().filter(function (e) { return e instanceof L.Circle; }),
|
||||||
|
polygons: this.drawnItems.getLayers().filter(function (e) { return e instanceof L.Polygon; }),
|
||||||
|
polylines: this.drawnItems.getLayers().filter(function (e) { return e instanceof L.Polyline; }),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
setOptions: function(options) {
|
setOptions: function(options) {
|
||||||
var nogos = options.nogos;
|
var nogos = options.nogos;
|
||||||
|
var polylines = options.polylines;
|
||||||
|
var polygons = options.polygons;
|
||||||
this._clear();
|
this._clear();
|
||||||
if (nogos) {
|
if (nogos) {
|
||||||
for (var i = 0; i < nogos.length; i++) {
|
for (var i = 0; i < nogos.length; i++) {
|
||||||
|
|
@ -127,6 +131,18 @@ BR.NogoAreas = L.Control.extend({
|
||||||
this.drawnItems.addLayer(nogos[i]);
|
this.drawnItems.addLayer(nogos[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (polylines) {
|
||||||
|
for (var i = 0; i < polylines.length; i++) {
|
||||||
|
polylines[i].setStyle(this.style);
|
||||||
|
this.drawnItems.addLayer(polylines[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (polygons) {
|
||||||
|
for (var i = 0; i < polygons.length; i++) {
|
||||||
|
polygons[i].setStyle(this.style);
|
||||||
|
this.drawnItems.addLayer(polygons[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_clear: function () {
|
_clear: function () {
|
||||||
|
|
|
||||||
|
|
@ -282,6 +282,10 @@ L.BRouter = L.Class.extend({
|
||||||
}
|
}
|
||||||
s += this._formatLatLng(vertices[j]);
|
s += this._formatLatLng(vertices[j]);
|
||||||
}
|
}
|
||||||
|
if (polyline.options.nogoWeight) {
|
||||||
|
s += L.BRouter.NUMBER_SEPARATOR;
|
||||||
|
s += polyline.options.nogoWeight;
|
||||||
|
}
|
||||||
if (i < (nogos.length - 1)) {
|
if (i < (nogos.length - 1)) {
|
||||||
s += L.BRouter.GROUP_SEPARATOR;
|
s += L.BRouter.GROUP_SEPARATOR;
|
||||||
}
|
}
|
||||||
|
|
@ -304,9 +308,15 @@ L.BRouter = L.Class.extend({
|
||||||
latlngs = [];
|
latlngs = [];
|
||||||
for (var j = 0; j < numbers.length - 1;)
|
for (var j = 0; j < numbers.length - 1;)
|
||||||
{
|
{
|
||||||
latlngs.push([numbers[j++], numbers[j++]]);
|
var lng = Number.parseFloat(numbers[j++]);
|
||||||
|
var lat = Number.parseFloat(numbers[j++]);
|
||||||
|
latlngs.push([lat, lng]);
|
||||||
}
|
}
|
||||||
nogos.push(L.polyline(latlngs));
|
var nogoWeight;
|
||||||
|
if (j < numbers.length) {
|
||||||
|
nogoWeight = Number.parseFloat(numbers[j++]);
|
||||||
|
}
|
||||||
|
nogos.push(L.polyline(latlngs, { nogoWeight: nogoWeight }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nogos;
|
return nogos;
|
||||||
|
|
@ -323,6 +333,10 @@ L.BRouter = L.Class.extend({
|
||||||
}
|
}
|
||||||
s += this._formatLatLng(vertices[j]);
|
s += this._formatLatLng(vertices[j]);
|
||||||
}
|
}
|
||||||
|
if (polygon.options.nogoWeight) {
|
||||||
|
s += L.BRouter.NUMBER_SEPARATOR;
|
||||||
|
s += polygon.options.nogoWeight;
|
||||||
|
}
|
||||||
if (i < (nogos.length - 1)) {
|
if (i < (nogos.length - 1)) {
|
||||||
s += L.BRouter.GROUP_SEPARATOR;
|
s += L.BRouter.GROUP_SEPARATOR;
|
||||||
}
|
}
|
||||||
|
|
@ -345,9 +359,15 @@ L.BRouter = L.Class.extend({
|
||||||
latlngs = [];
|
latlngs = [];
|
||||||
for (var j = 0; j < numbers.length - 1;)
|
for (var j = 0; j < numbers.length - 1;)
|
||||||
{
|
{
|
||||||
latlngs.push([numbers[j++], numbers[j++]]);
|
var lng = Number.parseFloat(numbers[j++]);
|
||||||
|
var lat = Number.parseFloat(numbers[j++]);
|
||||||
|
latlngs.push([lat, lng]);
|
||||||
}
|
}
|
||||||
nogos.push(L.polygon(latlngs));
|
var nogoWeight;
|
||||||
|
if (j < numbers.length) {
|
||||||
|
nogoWeight = Number.parseFloat(numbers[j++]);
|
||||||
|
}
|
||||||
|
nogos.push(L.polygon(latlngs, { nogoWeight: nogoWeight }));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nogos;
|
return nogos;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue