You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
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/: 0

Last 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

ikonor wrote:
    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

Board footer

Powered by FluxBB