Render polygons from URL hash and pass it to BRouter server
This commit is contained in:
parent
70a0f73d12
commit
6e60751db0
2 changed files with 52 additions and 18 deletions
|
|
@ -120,6 +120,8 @@ BR.NogoAreas = L.Control.extend({
|
|||
|
||||
setOptions: function(options) {
|
||||
var nogos = options.nogos;
|
||||
var polylines = options.polylines;
|
||||
var polygons = options.polygons;
|
||||
this._clear();
|
||||
if (nogos) {
|
||||
for (var i = 0; i < nogos.length; i++) {
|
||||
|
|
@ -127,6 +129,18 @@ BR.NogoAreas = L.Control.extend({
|
|||
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 () {
|
||||
|
|
|
|||
|
|
@ -282,6 +282,10 @@ L.BRouter = L.Class.extend({
|
|||
}
|
||||
s += this._formatLatLng(vertices[j]);
|
||||
}
|
||||
if (polyline.options.nogoWeight) {
|
||||
s += L.BRouter.NUMBER_SEPARATOR;
|
||||
s += polyline.options.nogoWeight;
|
||||
}
|
||||
if (i < (nogos.length - 1)) {
|
||||
s += L.BRouter.GROUP_SEPARATOR;
|
||||
}
|
||||
|
|
@ -304,9 +308,15 @@ L.BRouter = L.Class.extend({
|
|||
latlngs = [];
|
||||
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;
|
||||
|
|
@ -323,6 +333,10 @@ L.BRouter = L.Class.extend({
|
|||
}
|
||||
s += this._formatLatLng(vertices[j]);
|
||||
}
|
||||
if (polygon.options.nogoWeight) {
|
||||
s += L.BRouter.NUMBER_SEPARATOR;
|
||||
s += polygon.options.nogoWeight;
|
||||
}
|
||||
if (i < (nogos.length - 1)) {
|
||||
s += L.BRouter.GROUP_SEPARATOR;
|
||||
}
|
||||
|
|
@ -345,9 +359,15 @@ L.BRouter = L.Class.extend({
|
|||
latlngs = [];
|
||||
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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue