From 5af70bab8595436f2d9c8b07f9aa50bd1493afed Mon Sep 17 00:00:00 2001 From: duminil <duminil@2c044af0-2e85-064f-a0c3-7471430cffcd> Date: Mon, 22 Dec 2014 11:45:52 +0000 Subject: [PATCH] Repair small RegionChooser bug. --- website/polygon.js | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/website/polygon.js b/website/polygon.js index f7de2fd..ed8ac76 100644 --- a/website/polygon.js +++ b/website/polygon.js @@ -7,9 +7,11 @@ function PolygonCreator(map) { this.map = map; this.pen = new Pen(this.map); var thisOjb = this; - proj4.defs("EPSG:31467", "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0" - + " +ellps=bessel +datum=potsdam +units=m +no_defs"); // http://spatialreference.org/ref/epsg/31467/proj4js/ - this.event = google.maps.event.addListener(thisOjb.map, 'click', function(event) { + proj4.defs("EPSG:31467", + "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0" + + " +ellps=bessel +datum=potsdam +units=m +no_defs"); // http://spatialreference.org/ref/epsg/31467/proj4js/ + this.event = google.maps.event.addListener(thisOjb.map, 'click', function( + event) { thisOjb.pen.draw(event.latLng); }); this.destroy = function() { @@ -33,7 +35,8 @@ function Pen(map) { if (null != this.polygon) { alert('Click Reset to draw another'); } else { - if (this.currentDot != null && this.listOfDots.length > 1 && this.currentDot == this.listOfDots[0]) { + if (this.currentDot != null && this.listOfDots.length > 1 + && this.currentDot == this.listOfDots[0]) { this.drawPolygon(this.listOfDots); this.refreshInfo(); } else { @@ -94,13 +97,16 @@ function Pen(map) { var n = listOfDots.length; for (var i = 0; i < n; i++) { var latLng = listOfDots[i].latLng; - var gk3_coords = proj4(fromProjection, toProjection, [ latLng.lng(), latLng.lat() ]); + var gk3_coords = proj4(fromProjection, toProjection, [ + latLng.lng(), latLng.lat() ]); xs.push(gk3_coords[0] - 3500000); ys.push(gk3_coords[1] - 5000000); data += "(" + (gk3_coords.toString() + ")<br/>"); } if (n > 2) { - data += "<br/>\nArea : " + (Math.round(polygonArea(xs, ys) / 1000) / 10).toString() + " ha<br/>"; + data += "<br/>\nArea : " + + (Math.round(polygonArea(xs, ys) / 1000) / 10).toString() + + " ha<br/>"; } return data; } @@ -113,8 +119,10 @@ function Pen(map) { this.polygon = null; this.drawPolygon(this.listOfDots); } - this.polyline.remove(); - this.polyline = new Line(this.listOfDots, this.map); + if (null != this.polyline) { + this.polyline.remove(); + this.polyline = new Line(this.listOfDots, this.map); + } this.refreshInfo(); } } @@ -222,9 +230,10 @@ function Polygon(listOfDots, map, pen, color) { } this.addListener = function() { var thisPolygon = this.polygonObj; - google.maps.event.addListener(thisPolygon, 'rightclick', function(event) { - return false; - }); + google.maps.event.addListener(thisPolygon, 'rightclick', + function(event) { + return false; + }); } this.addListener(); } -- GitLab