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 2015-10-04 14:44:14
- reneman
- Member

- From: Mainz
- Registered: 2012-10-13
- Posts: 1,106
- Website
[Erledigt] OpenLayers.Request Rücklauf zuordnen
Hallo, ich habe da mal eine Frage zu Openlayers.
if (thumbURL) {
result.push (' <a target="_blank" href="' + this.html(imageSourceURL) + '"><img src="' +
this.html(thumbURL) + '" onload="' + imgOnload + '" alt="loading..."></a> <div id="attribution"> </div>');
// '../c/attribution.php?image=' abrufen
OpenLayers.Request.GET({
url: this.html(attribURL),
success: function(request) {
document.getElementById('attribution').innerHTML = request.responseText;
document.getElementById('attribution').id = 'attrib';
}
});
}Beim Aufbau des Popup wird das orbrige Schnipsel für jedes Objekt, dass im Popup gezeigt werden soll ausgeführt.
Da die Antwort aus der attribution.php nicht zwangsläufig in der Reihenfolge zurück kommt, wie die Anfrage aufgerufen wird, habe ich gelegentlich ein wildes durcheinander...
Ich generiere für jedes Bild ein div mit id="attribution" und die eingehenden Antworten werden naturgemäß von oben nach unten zugeordnet.
Nun kann ich jedem div eine igene ID geben und diese ID als Parameter mit an die php-Datei übergeben, diese gibt zusätzlich zum gewünschten Inhalt auch diese ID zurück, über die ich die Antwort eindeutig zuordnen könnte, aber irgendwie erscheint mir das zu umständlich... Wie kann ich einfach den Aufruf der php-Datei umsetzen und die Antwort dem richtigen Bild zuordnen? Ideen?
Last edited by reneman (2015-10-05 19:45:10)
» Check the Monuments! «
Viele der als historic=monument erfassten Objekte sind in Wirklichkeit kein Monument. Sie wurden mangels passender Tags oder aus Unkenntnis als Monument erfaßt. Diese Karte CheckTheMonuments will bei der Korrektur unterstützen.
Offline
#2 2015-10-05 19:43:36
- reneman
- Member

- From: Mainz
- Registered: 2012-10-13
- Posts: 1,106
- Website
Re: [Erledigt] OpenLayers.Request Rücklauf zuordnen
Habe die Lösung selber gefunden ![]()
Aus dem Code oben wird einfach nur:
if (thumbURL) {
result.push (' <a target="_blank" href="' + this.html(imageSourceURL) + '"><img src="' +
this.html(thumbURL) + '" onload="' + imgOnload + '" alt="loading..."></a> <div id="PIC' + data.id + '"> </div>');
// '../c/attribution.php?image=' abrufen
Pic_attribution ('PIC' + data.id,attribURL);
}Und dafür zusätzlich am Anfang der gleichen Datei ein nettes Plätzchen für die folgende Funktion gesucht:
//------------------------------------------------------------------------------
// Bild-Attribution nachladen
//------------------------------------------------------------------------------
function Pic_attribution (divID,attribURL) {
function onSuccess (request) {
document.getElementById(divID).innerHTML = request.responseText;
}
function onFailure (request) {
alert ('Download Image-Attributes failed!');
}
OpenLayers.Request.GET({
url: attribURL,
success: onSuccess,
failure: onFailure,
});
}Und schon ist das Durcheinander beseitigt ![]()
Warum sagt mir keiner, dass es so einfach ist? ![]()
» Check the Monuments! «
Viele der als historic=monument erfassten Objekte sind in Wirklichkeit kein Monument. Sie wurden mangels passender Tags oder aus Unkenntnis als Monument erfaßt. Diese Karte CheckTheMonuments will bei der Korrektur unterstützen.
Offline