1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
var map, vector;
function init(){
map = new OpenLayers.Map('map', {
projection: 'EPSG:31467',
maxResolution: 3457.03125,
units: 'm',
numZoomLevels: 1,
controls: [
new OpenLayers.Control.Attribution({
div: document.getElementById('attribution')
}),
new OpenLayers.Control.MousePosition({
div: document.getElementById('mouse-position-31467'),
prefix: 'Coordinates: ',
suffix: ' (in <a href="http://spatialreference.org/ref/epsg/'
+ '31467/">EPSG:31467</a>)'
}),
new OpenLayers.Control.MousePosition({
div: document.getElementById('mouse-position-4326'),
displayProjection: new OpenLayers.Projection('EPSG:4326'),
prefix: 'Coordinates: ',
suffix: ' (in <a href="http://spatialreference.org/ref/epsg/'
+ '4326/">EPSG:4326</a>)'
})
],
maxExtent: new OpenLayers.Bounds(3146150, 5223600, 4031150, 6108600)
});
var germany_gk3 = new OpenLayers.Layer.WMS(
'Germany (MetaSpatial)',
'http://www.metaspatial.net/cgi-bin/germany-wms',
{
layers: 'germany'
},
{
singleTile: true,
ratio: 1.0,
attribution: 'Background WMS offered without restrictions by '
+ '<a href="http://www.metaspatial.net/">MetaSpatial</a>'
}
);
vector = new OpenLayers.Layer.Vector();
map.addLayers( [ germany_gk3, vector ] );
map.zoomToMaxExtent();
}
function addVector(x, y, btn){
var status = "Transformed ",
geometry = new OpenLayers.Geometry.Point(x, y);
status += '<br /><code class="emph"> '
+ geometry.toString() + '</code> to';
geometry.transform(
new OpenLayers.Projection('EPSG:4326'),
new OpenLayers.Projection('EPSG:31467')
);
status += '<br /><code class="emph"> '
+ geometry.toString() + '</code>.';
document.getElementById('status').innerHTML = status;
var feature = new OpenLayers.Feature.Vector(geometry, {}, {
strokeColor: '#333333',
strokeOpacity: 1,
strokeWidth: 2,
fillColor: '#9966cc',
fillOpacity: 0.9,
pointRadius: 12,
graphicName: 'star'
});
vector.addFeatures([feature]);
btn.disabled = true;
}
function addOutline(btn) {
var wkt = 'POLYGON(('
+ ' 9.921906 54.983104, 9.939580 54.596642,'
+ '10.950112 54.363607,10.939467 54.008693,11.956252 54.196486,'
+ '12.518440 54.470371,13.647467 54.075511,14.119686 53.757029,'
+ '14.353315 53.248171,14.074521 52.981263,14.437600 52.624850,'
+ '14.685026 52.089947,14.607098 51.745188,15.016996 51.106674,'
+ '14.570718 51.002339,14.307013 51.117268,14.056228 50.926918,'
+ '13.338132 50.733234,12.966837 50.484076,12.240111 50.266338,'
+ '12.415191 49.969121,12.521024 49.547415,13.031329 49.307068,'
+ '13.595946 48.877172,13.243357 48.416115,12.884103 48.289146,'
+ '13.025851 47.637584,12.932627 47.467646,12.620760 47.672388,'
+ '12.141357 47.703083,11.426414 47.523766,10.544504 47.566399,'
+ '10.402084 47.302488, 9.896068 47.580197, 9.594226 47.525058,'
+ ' 8.522612 47.830828, 8.317301 47.613580, 7.466759 47.620582,'
+ ' 7.593676 48.333019, 8.099279 49.017784, 6.658230 49.201958,'
+ ' 6.186320 49.463803, 6.242751 49.902226, 6.043073 50.128052,'
+ ' 6.156658 50.803721, 5.988658 51.851616, 6.589397 51.852029,'
+ ' 6.842870 52.228440, 7.092053 53.144043, 6.905140 53.482162,'
+ ' 7.100425 53.693932, 7.936239 53.748296, 8.121706 53.527792,'
+ ' 8.800734 54.020786, 8.572118 54.395646, 8.526229 54.962744,'
+ ' 9.282049 54.830865, 9.921906 54.983104))',
feature = new OpenLayers.Format.WKT().read(wkt),
geometry = feature.geometry.transform(
new OpenLayers.Projection('EPSG:4326'),
new OpenLayers.Projection('EPSG:31467')
),
style = {
strokeColor: '#9966cc',
strokeOpacity: 1,
strokeWidth: 5,
fillColor: '#ffffff',
fill: false
},
transformedFeature = new OpenLayers.Feature.Vector(geometry, {}, style);
vector.addFeatures([transformedFeature]);
document.getElementById('status').innerHTML = 'Transformed polygon';
btn.disabled = true;
}
function clearVectors(){
vector.removeAllFeatures();
var ids = [
'btnCologne',
'btnBerlin',
'btnHamburg',
'btnMunich',
'btnGermany'
];
for (var i = 0, len = ids.length; i < len; i++) {
var elem = document.getElementById(ids[i]);
elem.disabled = false;
}
document.getElementById('status').innerHTML = '';
}
|