Hallo,
hat jemand von euch schon mal mit GMap gearbeitet? - http://greatmaps.codeplex.com/
Ich möchte für ein PC Spiel ein kleines Hilfs-Tool entwickeln, das die Karte des Spiels anzeigt. Auf der Karte sollen später Markierungen platziert werden könne. So weit bin ich aber noch nicht. Mein Problem ist derzeit die Darstellung der Koordinaten.
Leider habe ich früher in der Schule in Mathematik nicht aufgepasst 😉 Vielleicht lag es an der durchaus attraktiven Mathe-Lehrerin. Wer weiß.
Folgendes Problem:
Ich habe eine Karte mit folgenden minimum/maximum Werten:
Min X, Min Y: -4096
Max X, Max Y: 4096
Vermutlich könnt ihr mir nur weiterhelfen, wenn ihr selber schon mit oben genannter Komponente gearbeitet habt.
Habt ihr eine Idee, wie die Map Projection aussehen müsste, damit eben nicht die Standard Mercator Lat/Lng Koordinaten angezeigt werden, sondern eben die Reichweite von -4096 bis 4096? Das soll natürlich in jedem Zoom-Level funktionieren. Aktuell wird Zoom 1 bis 4 unterstützt.
Beim Bewegen der Maus über die Karte, sollen die Koordinaten angezeigt werden. Aber das ist nur nebensächlich ...
Hier ist der Source-Code der Standard MercatorProjection: MercatorProjection.cs
Vielleicht hat ja jemand eine Idee ...
Danke im Voraus
Gruß,
Felix
Hallo felix,
wenn du die Komponente etc. schon hast...dann spiel doch einfach mal damit rum. 😃 Und dann kannst du auch konkrete Fragen stellen.
[Hinweis] Wie poste ich richtig? Punkt 4 und Punkt 5.
Irgendwas wirst du schon hinbekommen, da bin ich sicher 😉
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Unter OSM: Projections/Spatial Reference Systems steht alles, was man zu diesem Thema wissen muss.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hallo,
hier ein kleines Update und ein paar mehr Details ...
ich habe mir den Artikel durchgelesen und größtenteils auch verstanden. Bei meinem Versuch eine Karte im Zoom-Level 1 mit 4 Tiles anzuzeigen, ist mir aufgefallen, dass am unteren und am rechten Rand der Karte ein Paar Pixel nicht erfasst werden. Diese fehlenden Pixel werden dann bei der Berechnung von Lat/Lng nicht berücksichtigt.
Der Bereich, den ich berechnen kann ist maximal folgender:
Min X: -4096
Max X: 4080
Min Y: -4080
Max Y: 4096
Das gilt jedoch nur für Zoom Level 1. Die Differenz ist hier also 16. In jedem weiteren Zoom-Level halbiert sich die Differenz jeweils zum vorherigen Zoom-Level. Also 16 -> 8 -> 4 -> 2.
Auch ohne meine Map Projection funktioniert das nicht richtig. Lng 180 und Lat -85.05112878 kann also mit dem GMap Control quasi nie erfasst werden. Die Ränder der Karte stimmen also nicht. Zumindest kam ich nicht auf diese Werte.
Hier wird das noch einmal bestätigt: Map edges
Der Post ist von 2010. Scheinbar ist es ein größeres Problem, sonst wäre es wohl schon behoben.
Wahrscheinlich kann mir dabei niemand weiterhelfen, aber vielleicht hilft es in Zukunft jemand anderem, der evtl. auf die gleichen Probleme stößt.
Trotzdem vielen Dank für eure Hilfe.
Gruß,
Felix