Man kann ja mittels “http://tile.openstreetmap.org/15/17162/11485.png/status” den Status eines Tiles abfragen. Geht das auch irgendwie programmtechnisch mit einer Javascript-Funktion (OL vielleicht)? Laut SelfHtml ist die Abfrage einer URL mit Javascript nicht möglich.
Das geht und das geht nicht. Mittels JavaScript kann man normalerweise nur bestimmte HTTP-Verbindungen öffnen. Wenn es erlaubt ist, geht das einfach (z.B. mit XmlHttpRequest). Ansonsten hast du Pech gehabt.
Welche Http-Verbindungen sind erlaubt? Normalerweise nur solche zu demselben Host, von dem die ursprüngliche Seite geladen wurde. Das ist ein Sicherheitsfeature.
Firefox / Mozilla erlaubt bzw. erlaubte mal, dieses Feature auszuschalten, rät aber aus besagten Sicherheitsgründen dringend davon ab. Wie andere Browser das handhaben, weiß ich nicht. Wenn Du also so was vor hast, informiere Dich vorher gut darüber, welche Sicherheitsrisiken Du eingehst.
Wie auch immer, google mal nach XmlHttpRequest.
Gehst Du weg vom Browser, e.g. zu einer Java-Anwendung, ist das ganze einfach.
EDIT: Nachtrag: habe gerade dies unter dem Stichwort Cross-Site XmlHttpRequest gefunden [1]
Firefox 3.5 supports cross-site requests by implementing the web applications working group’s Access Control for Cross-Site Requests standard. As long as the server is configured to allow requests from your web application’s origin, XMLHttpRequest will work. Otherwise, an INVALID_ACCESS_ERR exception is thrown.
Da meine Webseite auf meinen Server einen Request nach OSM machen würde, wäre das Cross-Site und damit möchte ich mir nicht die Finger verbrennen.
Der Status eines Tiles wird ja wohl kaum innerhalb des “.png” gespeichert sein, ausser es werde mittel fileinfo ermittelt. Der Re-rendering Prozess muss ja auch irgenwie zugreifen können, also sollte es irgendwie auch direkter gehen. Auskunft geben kann wahrscheinlich aber nur jemand, der sich mit den Innereien von OSM auskennt. Wer könnte das sein?
Wenn Du auf Deinem Webserver CGI hast, dann kannst Du den Request auf die ‘fremde’ Seite auch über ein Proxy-Script aufrufen, siehe OpenLayers.ProxyHost.
OpenLayers.ProxyHost scheint nicht dokumentiert zu sein (finde es nicht), wird aber in einigen Beispielen verwendet. Ich habe zwar ein CGI bei meinem Hoster, bezweifle aber, dass ein Python-Script läuft. Hat jemand ein PHP-Script (mit “howto use”) zur hand?
Das ist natürlich ein Argument, versprechen kann ich aber noch nichts. Zur Vorbereitung kannst du ja mal http://www.orpatec.ch/osm/tools/main.php besuchen, dann siehst du wie weit ich bis jetzt bin.
Jein. Ich habe es gemacht, weil ich wissen will, warum einzelne Tiles nicht gerendert werden (siehe http://forum.openstreetmap.org/viewtopic.php?id=9591)), obwohl offensichtlich etwas falsch ist. Ich vermute, es gehen ab und zu Updates für Tiles vergessen.