Hallo an euch alle,
ich habe mit Freude den Ursprungs-Post gelesen und das Ganze umgesetzt, allerdings ergeben sich, die üblichen, Umrechnungsprobleme.
Live zu sehen hier:
http://www.highfield-forum.de/stuff/...karte/test.php
Source:
http://www.highfield-forum.de/stuff/...e/test.php.txt
(die Punkte • markieren Orte der Testuser)
Punkte:
- Ort: Saalfeld/Saale (Thüringen), 11,3 + 50,6 (Koordinaten aus der oben genannten OpensourceDB)
- Ort: Eisenach/Thüringen
- Ort: Essen/NRW
Die Karte ist die selbe, wie sie hier im Forum benutzt wird. Sie wird zwar kleiner darstellt, aber die Anzeigeverhältnisse der Punkte, sind exakt gleich, zu der Karte im Großformat (siehe hier im Forum).
Bedauerlicherweise sind die Punkte nicht mal ansatzweise richtig, und auch nicht abhängig voneinander korrekt entfernt.
Saalfeld und Eisenach liegen recht nahe (aus DE-Sicht) beeinander, Essen ist eine ganze Ecke westlicher.
Frage: Ich habe bei der Berechnung sicher was verhauen:
Da ich oben im genannten Code nicht nachvollziehen kann, was genau mit "$r->laenge" gemeint ist, bzw. welcher Wert das ist, bin ich davon ausgangen, es ist der Laengewert, der dem jeweiligen Ort in der Datenbank zugeordnet ist. Dem scheint nicht so, darum ist die fertige Karte nicht ok.Code:// Koordinaten aus der DB auf Pixelwert (auf Grafik) umrechnen $ko_x = floor( ($ko[0] - $range_min['x']) * ($karte_groesse_x / ($range_max['x'] - $range_min['x'])));
Originalcode zum Vergleich:
Code:$members[$i]['x']= floor( ($r->laenge - $range_min['x']) * ($karte_groesse_x / ($range_max['x'] - $range_min['x'])));
Ich habe etwa 100-150 User, für die die Karte relevant ist. Die Punkte werden später per Mouse-over mit Nickname etc. versehen, ich hoffe ich hab mir das alles nicht zu leicht gemacht, aber eigentlich funktioniert das Ganze ja so, wie gezeigt, nur die Umrechnungszahlen bzw. Formel hat wohl einen Knacks.
Bin für jede Hilfe dankbar!
Christian


LinkBack URL
About LinkBacks
Zitieren
