Hallo Gemeinde,
seit längerem plage ich mich schon OpenStreetMap und OpenLayer ab. Ich schaffe es einfach nicht einen GPS-Track oder Punkte mit einem Label darzustellen. Sämtliche Anleitungen, die ich per Google finden konnte, habe ich inzwischen durchprobiert. Probieren deshalb, weil die Dokumentation zu diesem Thema übel ist.
Hier mein Code-Beispiel:
Verwendet wird die neueste Version von OpenLayers: OpenLayers 2.10 -- $Revision: 10721 $
Auszug aus dem GPS-Track:
Aussagekräftige Fehlermeldungen gibt es natürlich auch:
Interessant ist, wenn ich den GPS-Track über diese Seite darstellen lasse, ist alles korrekt.
Link: http://www.openrouteservice.org/index.php
Hat jemand hier aus dem Forum Erfahrung mit diesem OpenLayers-Gedöns?
Vielen Dank schon mal für die Antworten.
Viele Grüße
JueDan
seit längerem plage ich mich schon OpenStreetMap und OpenLayer ab. Ich schaffe es einfach nicht einen GPS-Track oder Punkte mit einem Label darzustellen. Sämtliche Anleitungen, die ich per Google finden konnte, habe ich inzwischen durchprobiert. Probieren deshalb, weil die Dokumentation zu diesem Thema übel ist.
Hier mein Code-Beispiel:
Code:
<html>
<head>
<title>Simple OSM GPX Track</title>
<!-- bring in the OpenLayers javascript library
(here we bring it from the remote site, but you could
easily serve up this javascript yourself) -->
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<!-- bring in the OpenStreetMap OpenLayers layers.
Using this hosted file will make sure we are kept up
to date with any necessary changes -->
<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
<script src="gpx.js"></script>
<script type="text/javascript">
// Start position for the map (hardcoded here for simplicity,
// but maybe you want to get this from the URL params)
var lat=47.38857
var lon=10.78510
var zoom=13
var map; //complex object of type OpenLayers.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()],
numZoomLevels: 13,
units: 'm',
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326")
} );
// Define the map layer
// Here we use a predefined layer that will be kept up to date with URL changes
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(layerMapnik);
layerTilesAtHome = new OpenLayers.Layer.OSM.Osmarender("Osmarender");
map.addLayer(layerTilesAtHome);
layerCycleMap = new OpenLayers.Layer.OSM.CycleMap("CycleMap");
map.addLayer(layerCycleMap);
layerMarkers = new OpenLayers.Layer.Markers("Markers");
map.addLayer(layerMarkers);
// Add the Layer with the GPX Track
// GPX
var pfad = "osm_bergtour_bichlbaechle_roterstein.gpx";
var lgpx = new OpenLayers.Layer.GPX("RoterStein",
pfad, "#000000");
lgpx.requestSuccess(pfad);
map.addLayer(lgpx);
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
map.setCenter(lonLat, zoom);
var size = new OpenLayers.Size(21, 25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon('http://www.openstreetmap.org/openlayers/img/marker.png',size,offset);
layerMarkers.addMarker(new OpenLayers.Marker(lonLat,icon));
}
</script>
</head>
<!-- body.onload is called once the page is loaded (call the 'init' function) -->
<body onload="init();">
<!-- define a DIV into which the map will appear. Make it take up the whole window -->
<div style="width:90%; height:90%" id="map"></div>
</body>
</html>
Verwendet wird die neueste Version von OpenLayers: OpenLayers 2.10 -- $Revision: 10721 $
Auszug aus dem GPS-Track:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gpx version="1.1" creator="MagicMaps Tour Explorer"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.topografix.com/GPX/1/1">
<trk>
<name>roter stein</name>
<trkseg>
<trkpt lat="47.398769000" lon="10.787547000">
<ele>1230.1</ele>
<time>2007-10-14T10:09:57Z</time>
</trkpt>
[...]
</trkseg>
</trk>
</gpx>
Aussagekräftige Fehlermeldungen gibt es natürlich auch:
Code:
Fehler: Syntax-Fehler
Quelldatei: http://www.dankoweit.de/test/map_gpx.html
Zeile: 1, Spalte: 1
Quelltext:
osm_bergtour_bichlbaechle_roterstein.gpx
Interessant ist, wenn ich den GPS-Track über diese Seite darstellen lasse, ist alles korrekt.
Link: http://www.openrouteservice.org/index.php
Hat jemand hier aus dem Forum Erfahrung mit diesem OpenLayers-Gedöns?
Vielen Dank schon mal für die Antworten.
Viele Grüße
JueDan
Last edited:


