You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#1 2013-03-18 09:52:32
- tfrank
- Member
- Registered: 2013-03-18
- Posts: 29
Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
Hallo,
ich habe mithilfe der Doku einen eigene Tileserver eingerichtet was auch recht gut geklaptt hat.
Server ist von Ext. Erreichbar. auch die automatisch erzeugte Slippymap arbeitet mit Local Tiles.
Nun habe ich folgendes Problem wenn ich die Slippy Map von einem anderen Ort aus ausführe bleiben die Tiles Rosa und werden nicht angezeigt. Über Grafik anzeigen kann ich mir die gerenderten Tiles aber anzeigen lassen.
Offline
#2 2013-03-18 09:59:16
- gis_jam
- Member
- Registered: 2011-10-14
- Posts: 81
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
Hast Du vielleicht in Deinem OpenLayers-Code noch irgendwo ein 'localhost' drinstehen, als Quelle für die Tiles?
EDIT: Hm, wenn du die Tiles einzeln anzeigen kannst, scheint es daran nicht zu liegen...
Last edited by gis_jam (2013-03-18 10:04:20)
Offline
#3 2013-03-18 10:26:59
- tfrank
- Member
- Registered: 2013-03-18
- Posts: 29
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
Daran kann es nicht liegen die Tiles sind da und von ext. abrufbar.
Wenn ich in der html der Slippymap meine IP mit a.tile.openstreetmap.org ersetze kann ich die Slippymap auch direkt vom Desktop aus starten und bekomme Tiles. Evtl Fehler in Zugriffsrechten ?
Anbei mal die Entscheidende Stelle der Slippymap
var newLayer = new OpenLayers.Layer.OSM("Local Tiles", "http://91.250.84.11/osm/${z}/${x}/${y}.png", {numZoomLevels: 19});
map.addLayer(newLayer);sowie die Statistik nach dem Aufruf:
NoResp200: 937
NoResp304: 0
NoResp404: 0
NoResp503: 0
NoResp5XX: 0
NoRespOther: 0
NoFreshCache: 916
NoOldCache: 0
NoFreshRender: 21
NoOldRender: 0
NoRespZoom00: 0
NoRespZoom01: 0
NoRespZoom02: 0
NoRespZoom03: 30
NoRespZoom04: 30
NoRespZoom05: 0
NoRespZoom06: 0
NoRespZoom07: 60
NoRespZoom08: 90
NoRespZoom09: 228
NoRespZoom10: 211
NoRespZoom11: 60
NoRespZoom12: 60
NoRespZoom13: 30
NoRespZoom14: 30
NoRespZoom15: 48
NoRespZoom16: 30
NoRespZoom17: 30
NoRespZoom18: 0
NoRes200Layer/osm/: 937
NoRes404Layer/osm/: 0Last edited by tfrank (2013-03-18 10:31:40)
Offline
#4 2013-03-18 10:46:11
- ikonor
- Member
- Registered: 2010-11-08
- Posts: 637
- Website
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
Kannst Du mal versuchen, folgende Option hinzuzufügen:
tileOptions : {
crossOriginKeyword : null
}, also
var newLayer = new OpenLayers.Layer.OSM("Local Tiles", "http://91.250.84.11/osm/${z}/${x}/${y}.png", {
tileOptions : {
crossOriginKeyword : null
},
numZoomLevels: 19
});
map.addLayer(newLayer);Offline
#5 2013-03-18 12:11:21
- tfrank
- Member
- Registered: 2013-03-18
- Posts: 29
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
Ok Danke hat funktioniert.
Offline
#6 2013-03-18 12:29:28
- gis_jam
- Member
- Registered: 2011-10-14
- Posts: 81
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
tileOptions : { crossOriginKeyword : null },
ikonor, kannst du vielleicht etwas genauer erläutern, was diese Option genau bewirkt?
Danke, gis_jam
Offline
#7 2013-03-18 13:53:09
- ikonor
- Member
- Registered: 2010-11-08
- Posts: 637
- Website
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
In den 2.12 Release Notes ist das kurz erklärt: OSM and Bing Layers (mittlerer Abschnitt). Alternativ zu Layer.OSM kann auch Layer.XYZ verwendet werden, dort ist die Option nicht nötig.
Also, so ganz bin ich noch nicht durchgestiegen, was wann warum benötigt wird, aber ich verstehe das so (ohne Garantie):
Mit 2.12 wurde die Möglichkeit eingeführt, Tile Images zu HTML5 Canvas zu konvertieren, siehe Release Notes: Tile Canvas. Da der Canvas auch manipuliert werden kann, sind wohl aus Sicherheitsgründen entsprechende Berechtigungen erforderlich, wenn die Tiles von einem fremden Server stammen (Stichwort CORS). Details siehe Kommentare zu verlinktem Pull Request (Suche nach "crossOrigin").
openstreetmap.org unterstützt CORS, deshalb wird für Layer.OSM das crossOriginKeyword immer gleich mitgesendet, auch wenn es eigentlich nur für die getCanvasContext Funktion benötigt wird. Andere Server, die CORS nicht unterstützen, liefern zwar die angefragten Tiles aus, der Browser verweigert dann aber wegen fehlendem Access-Control-Allow-Origin Header generell den Zugriff.
Gruß,
Norbert
Offline
#8 2013-03-18 14:00:17
- gis_jam
- Member
- Registered: 2011-10-14
- Posts: 81
Re: Eigener Tileserver - Tiles werden mit Slippymap nicht angezeigt
Merci, sehr anschaulich!
gis_jam
Offline