Frage

Ich verwende eine statische Google Map, aber dieses Problem könnte für jedes Kartenprojekt gelten. Ich möchte eine Karte in mehrere Quadranten unterteilen (von 50 x 50 Pixel) und die Spalten als a, b, c ... und die Reihen als 1, 2, 3 ...

Als nächstes habe ich vor, so etwas wie zu tun,

1) Finden Sie die Marker, die am weitesten nach Norden, Osten, Süden und Westen sind. A, 2])

Ein paar Anforderungen,

  • Ich kenne die Zoomebene nicht, weil ich Google die Zoomebene für mich angemessen einstellen lasse und ich würde lieber keinen Algorithmus verwenden, der von einer Zoomebene abhängt. Ich kenne jedoch die Orte aller Marker, die auf der Karte angezeigt werden.

Hier ist ein Beispiel für eine Karte, für die ich die Marker klassifizieren möchte,Statische Karte Beispiel Link.

Ich habe diese gefunden, die wie ein guter Start aussehen,Ressource 1, Ressource 2

Aber ich denke, ich brauche immer noch Hilfe mit Hilfe. Kann jemand dazu beitragen, Pseudocode auszuschreiben oder noch ein paar Ressourcen zu veröffentlichen? Ich bin im Moment irgendwie in einer Furcht.

Vielen Dank! Sehr geschätzt von jeder Hilfe!

War es hilfreich?

Lösung

OK, zwei Tage später habe ich es endlich bekommen. Ich dachte, ich würde meine Gedanken mit Menschen teilen, die später darüber stolpern.

Befolgen Sie den PHP -Code auf Diese Seite Und um LAT, LNG -Paare in Pixelkoordinaten zu übersetzen, konnte ich die einzelnen Pixelzeile nach dem X -Wert und der Spalte nach dem Pixel Y -Wert klassifizieren.

Um die Zoomebene zu berechnen, bestimmen ich die Werte von Maxlat, Maxlng, Minlat und Minlng, die durch die Sammlung von Markern definiert sind. Dann berechnete ich die Grenzen der Karte auf einer bestimmten Zoomebene. Schließlich verwendete ich eine Brute -Kraft -Methode zur Überprüfung, wenn die neuen Grenzen der Karte, die durch die Zoomebene bestimmt wurde, die Grenzen des max, min lat, lng -Werte der Sammlung von Markern, enthalten würde. Beginnend bei Zoom Level 21 (maximaler Zoom auf Google Maps), verringern Sie die Zoomebene, bis ich eine Zoomebene finde, die alle Marker enthält.

Es scheint, dass die in dieser Methode berechnete Zoomebene mit Googles voreingestellter Zoomebene, die automatisch ausgewählt wurde, übereinstimmt, wenn Sie keine Zoomebene für eine statische Karte bereitstellen.

In PHP gibt es eine schöne Bibliothek, um all dies zu tun hier.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top