Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Eric Duminil
RegionChooser
Commits
72645e3f
Commit
72645e3f
authored
Dec 15, 2014
by
duminil
Browse files
Refresh after each point for RegionChooser.
parent
138dffec
Changes
1
Show whitespace changes
Inline
Side-by-side
website/polygon.js
View file @
72645e3f
...
...
@@ -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
"
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
)
{
this
.
event
=
google
.
maps
.
event
.
addListener
(
thisOjb
.
map
,
'
click
'
,
function
(
event
)
{
thisOjb
.
pen
.
draw
(
event
.
latLng
);
});
this
.
destroy
=
function
()
{
...
...
@@ -32,19 +34,17 @@ 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
);
$
(
'
#dataPanel
'
).
empty
();
$
(
'
#dataPanel
'
).
append
(
"
WGS84 Coordinates<br/>
"
);
$
(
'
#dataPanel
'
).
append
(
this
.
getWGS84Data
()
+
"
<br/>
\n
"
);
$
(
'
#dataPanel
'
).
append
(
"
GSK3 Coordinates<br/>
"
);
$
(
'
#dataPanel
'
).
append
(
this
.
getGSK3DataAndArea
());
this
.
refreshInfo
();
}
else
{
if
(
null
!=
this
.
polyline
)
{
this
.
polyline
.
remove
();
}
var
dot
=
new
Dot
(
latLng
,
this
.
map
,
this
);
this
.
listOfDots
.
push
(
dot
);
this
.
refreshInfo
();
if
(
this
.
listOfDots
.
length
>
1
)
{
this
.
polyline
=
new
Line
(
this
.
listOfDots
,
this
.
map
);
}
...
...
@@ -53,7 +53,7 @@ function Pen(map) {
}
this
.
drawPolygon
=
function
(
listOfDots
,
color
,
des
,
id
)
{
this
.
polygon
=
new
Polygon
(
listOfDots
,
this
.
map
,
this
,
color
,
des
,
id
);
this
.
deleteMis
();
//
this.deleteMis();
}
this
.
deleteMis
=
function
()
{
$
.
each
(
this
.
listOfDots
,
function
(
index
,
value
)
{
...
...
@@ -79,39 +79,43 @@ function Pen(map) {
return
this
.
listOfDots
;
}
this
.
getWGS84Data
=
function
()
{
if
(
this
.
polygon
!=
null
)
{
var
data
=
""
;
var
paths
=
this
.
polygon
.
getPlots
();
var
xs
=
[];
var
ys
=
[];
paths
.
getAt
(
0
).
forEach
(
function
(
value
,
index
)
{
data
+=
(
value
.
toString
()
+
"
<br/>
"
);
});
for
(
var
i
=
0
;
i
<
this
.
getListOfDots
().
length
;
i
++
)
{
data
+=
this
.
getListOfDots
()[
i
].
latLng
+
"
<br/>
"
;
}
return
data
;
}
else
{
return
null
;
}
this
.
refreshInfo
=
function
()
{
$
(
'
#dataPanel
'
).
empty
();
$
(
'
#dataPanel
'
).
append
(
"
WGS84 Coordinates<br/>
"
);
$
(
'
#dataPanel
'
).
append
(
this
.
getWGS84Data
()
+
"
<br/>
\n
"
);
$
(
'
#dataPanel
'
).
append
(
"
GSK3 Coordinates<br/>
"
);
$
(
'
#dataPanel
'
).
append
(
this
.
getGSK3DataAndArea
());
}
this
.
getGSK3DataAndArea
=
function
(
referenceSystem
)
{
if
(
this
.
polygon
!=
null
)
{
var
data
=
""
;
var
paths
=
this
.
polygon
.
getPlots
();
var
fromProjection
=
proj4
(
'
EPSG:4326
'
);
var
toProjection
=
proj4
(
'
EPSG:31467
'
);
var
xs
=
[];
var
ys
=
[];
paths
.
getAt
(
0
).
forEach
(
function
(
value
,
index
)
{
var
gk3_coords
=
proj4
(
fromProjection
,
toProjection
,
[
value
.
lng
(),
value
.
lat
()
]);
var
listOfDots
=
this
.
getListOfDots
();
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
()
]);
xs
.
push
(
gk3_coords
[
0
]
-
3500000
);
ys
.
push
(
gk3_coords
[
1
]
-
5000000
);
data
+=
"
(
"
+
(
gk3_coords
.
toString
()
+
"
)<br/>
"
);
});
data
+=
"
<br/>
\n
Area :
"
+
(
Math
.
round
(
polygonArea
(
xs
,
ys
)
/
1000
)
/
10
).
toString
()
+
"
ha<br/>
"
;
return
data
;
}
else
{
return
null
;
}
if
(
n
>
2
)
{
data
+=
"
<br/>
\n
Area :
"
+
(
Math
.
round
(
polygonArea
(
xs
,
ys
)
/
1000
)
/
10
).
toString
()
+
"
ha<br/>
"
;
}
return
data
;
}
}
...
...
@@ -203,7 +207,8 @@ function Polygon(listOfDots, map, pen, color) {
}
this
.
addListener
=
function
()
{
var
thisPolygon
=
this
.
polygonObj
;
google
.
maps
.
event
.
addListener
(
thisPolygon
,
'
rightclick
'
,
function
(
event
)
{
google
.
maps
.
event
.
addListener
(
thisPolygon
,
'
rightclick
'
,
function
(
event
)
{
return
false
;
});
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment