x

Re: mehrere relationen-umrisse auf einer karte?


Geschrieben von fx99 (Gast) am 30. März 2013 07:05:01: [flux]

Als Antwort auf: mehrere relationen-umrisse auf einer karte? geschrieben von Chenshi (Gast) am 29. März 2013 22:23:

Wie wär's mit diesem html code? (läuft unter firefox 19., Win7)

<html>
<head>
<meta␣http-equiv="content-type"␣content="text/html;␣charset=utf-8"␣lang="en"></meta>
<title>admin:␣OSM3S␣on␣Mapnik␣via␣Open␣Layers</title>
<script␣src="http://openlayers.org/api/OpenLayers.js"></script>
<script␣src="http://openstreetmap.org/openlayers/OpenStreetMap.js"></script>
<script␣src="http://overpass-api.de/overpass.js"></script>
<script␣type="text/javascript">
var␣lat␣=␣48.65;␣␣␣␣␣␣␣var␣lon␣=␣8.90;␣␣␣␣␣␣var␣zoom␣=␣12;
var␣map;
function␣init(){
map␣=␣new␣OpenLayers.Map␣("map",␣{
controls:[
new␣OpenLayers.Control.Navigation(),␣␣␣␣new␣OpenLayers.Control.PanZoomBar(),
new␣OpenLayers.Control.LayerSwitcher(),␣new␣OpenLayers.Control.Attribution(),
new␣OpenLayers.Control.Permalink()␣␣␣␣␣],
maxExtent:␣new␣OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
maxResolution:␣156543.0399,
numZoomLevels:␣19,␣␣␣␣␣␣␣␣␣␣␣␣␣␣units:␣'m',
projection:␣new␣OpenLayers.Projection("EPSG:900913"),
displayProjection:␣new␣OpenLayers.Projection("EPSG:4326")
}␣);
layerMapnik␣=␣new␣OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(layerMapnik);
var␣lonLat␣=␣new␣OpenLayers.LonLat(lon,␣lat).transform(new␣OpenLayers.Projection("EPSG:4326"),␣new␣OpenLayers.Projection("EPSG:900913"));
map.setCenter␣(lonLat,␣zoom);
map.addLayers([make_large_layer("http://overpass-api.de/api/interpreter?data=[timeout:1];(relation[%22admin_level%22=%226%22](bbox););(._;>;);out␣skel;",␣"red",␣10)]);
map.addLayers([make_large_layer("http://overpass-api.de/api/interpreter?data=[timeout:1];(relation[%22admin_level%22=%228%22](bbox););(._;>;);out␣skel;",␣"blue",␣10)]);
map.addLayers([make_large_layer("http://overpass-api.de/api/interpreter?data=[timeout:1];(relation[%22admin_level%22=%2210%22](bbox););(._;>;);out␣skel;",␣"green",␣10)]);
}
</script>
</head>
<body␣onload="init()">
<div␣id="statusline"␣style="font-size:24pt;␣font-weight:bold;␣font-family:sans-serif">No␣status␣set␣yet.</div>
<div␣id="map"␣style="height:90%"␣class="smallmap"></div>
</body>
</html>

Lässt sich sicher noch verbessern, z.B. richtige Anzeige im Layerswitcher, aber dann muss man die libraries modifizieren.