[gelöst] Nach Update auf Drupal 7 falsche Werte in Openlayer2 Karten
am 13.03.2017 - 15:52 Uhr in
Hey,
nach einem Update von Drupal 6 auf Drupal 7 bekomme ich die Orte nicht mehr in der Karte angezeigt. Anstatt die Punkte mehr oder weniger in der Mitte von Deutschland darzustellen, reichen sie teilweise wie aneinandergereiht von Norwegen bis Algerien. Allerdings nicht auf dem Längengrad Null, so dass evt. die Längenangaben stimmen, aber die Breitengrade verzerrt sind.
Genutzte Module und Versionen:
Ich arbeite hier mit Drupal 7.54, Location 7.x-3.8-beta2, Openlayers 2 (7.x-2.0-beta11, da ich OL2 auch in D6 benutzte), Views 7.x-3.15. Ich habe auch geoPHP, Libraries, Proj4JS, Chaos tools und sonstige geforderten Module aktiviert.
Nachdem ich mittlerweile sehr lange verschiedende Ansätze ausprobierte, fand ich zumindest heraus:
- die Koordinaten sind in der Datenbank vorhanden und bestimmen den richtigen Ort
- ein Wechsel der Projektionen (Map Projection sowie Display Projection in der OL-Map-Vorlage) hat nix gebracht, Google und OSM zeigen das selbe Ergebnis.
- mit einem hinzugefügten Geofield, das seine Infos aus dem Location-field zieht, lassen sich die Orte an der richtigen Stelle abbilden
Allerdings ist der Wechsel auf Geofield mein allerletzter Ausweg, da ich in dem Contenttype über 5 Ortsangaben habe und mehr als 3000 Nodes bereits bestehen.
Gibt es noch irgendwas, was ich übersehen haben könnte?
- Anmelden oder Registrieren um Kommentare zu schreiben
also sind die geodaten vom
am 15.03.2017 - 06:54 Uhr
also sind die geodaten vom locationmodul? dann deaktivier doch mal alle andern nicht notwendigen und mach mal eine einfache kartenanzeige
C.A.W. Webdesign
Hm, meinst du eine
am 15.03.2017 - 19:32 Uhr
Hm, was meinst du mit "einfache kartenanzeige"?
Bisher versuchte ich aus dem Location-Field die Geodaten herauszuziehen und mittels OL darzustellen. Ich versuchte es mit WKT und mit Lat./Long als Data Source.
Ich kenne mich mit OpenLayer2
am 15.03.2017 - 20:15 Uhr
Ich kenne mich mit OpenLayer2 nicht aus aber solch ein ähnliches Phänomen hatte ich mal mit GMAP. Da gab es eine Funktion, mit der man den Abstand der "Orte" auf der GMAP überschreiben/anpassen konnte (auf einem bestimmten Zoomlevel, wenn es mehrere Nodes im selben Ort, an der selben Adresse gab) und wenn man dort falsche Einstellungen vorgenommen hat, waren die Abstände riesig und zogen sich über ganz Europa.
Hast Du das vielleicht irgendwas überschrieben (in Deiner template.php oder mit einem eigenen Modul)?
Drupal rockt!!!
nicht, dass ich wüsste
am 15.03.2017 - 22:06 Uhr
Danke erstmal für eure Antworten.
Die Anordnung zeigt sich auch in anderen Themes, somit sollte das nicht am Template liegen, dort habe ich auch nichts geändert, jedenfalls nicht bewusst. Ein eigenes Modul habe ich ebenfalls nicht.
Und auch in einer kaum veränderteten Example-Map von Google oder OSM habe ich das selbe Ergebnis.
Tatsächlich habe ich viele Nodes am selben Ort. Ich schau mal, ob ich so etwas finde, wie du beschreibst.
Ich frage mich auch, ob ich das ganze Upgrade erneut durchführen sollte ... Aber eigentlich stehen in der Tabelle "location" die korrekten Koordinaten.
soyo schrieb Aber eigentlich
am 16.03.2017 - 05:02 Uhr
Aber eigentlich stehen in der Tabelle "location" die korrekten Koordinaten.
dann zeig die doch mal mit gmap und location an
C.A.W. Webdesign
Danke für den Hinweis: Mit
am 16.03.2017 - 19:21 Uhr
Danke für den Hinweis: Mit GMap wird für jeden einzelnen Node der Ort richtig angezeigt.
Erstelle ich eine GMap für das ausgewählte Standortfeld für alle Nodes funktioniert das ebenfalls! Auch unabhängig vom Zoomlevel. So weit so gut.
Nur ist mir nicht klar, was mir bei Openlayers fehlt, bzw was ich falsch mache. (Ich würde gerne auf Google verzichten und zudem die Möglichkeiten von OL nutzen.)
Ich wähle
Format: OL Vector Data Overlay
Einstellungen: Lat/lon Pair von Location
Felder: Titel, Location: Adresse, Location geogr. Breite, Location geogr. Länge
(wobei ich zu den Koordinaten eine Beziehung setze, da ich mehrere Orte im Node habe)
Filter: Contenttype, veröffentlicht
Im Grunde sind das auch die Einstellungen, wie sie in Drupal 6 funktionierten ...
Ich habe bereits OL2 mehrfach neu installiert und alle Einstellungen mit den Einstellungen bei D6 verglichen ...
Bisher hatte ich in der Suche
am 17.03.2017 - 17:02 Uhr
Bisher hatte ich in der Suche immer Drupal7 Tips gelesen. Bei dieser Erklärung (https://www.drupal.org/node/627816) zu D6 und Openlayers finde ich folgenden Hinweis:
Note: In Drupal 7, the OpenLayers module focuses on displaying data and therefore does not provide its own input field anymore. You can use the Geofield module for inputting geo data.
Das bedeutet dann wohl, es gibt die Möglichkeit nicht mehr und ich muss mit Geofield alle Daten neu geocodieren.
Kann das sein? Dann müssten eigentlich mehr Anwendungen vor diesem Problem gestanden haben. Gibt es da noch andere Lösungen als GMap?
https://www.drupal.org/projec
am 17.03.2017 - 18:44 Uhr
https://www.drupal.org/project/ip_geoloc
und dazu evtl leaflet
C.A.W. Webdesign
wesentliche kleinigkeit nicht bedacht
am 19.03.2017 - 13:30 Uhr
Bei meinen Versuchen mit ip_geoloc und geoJSON ist mir ein Satz aufgefallen:
Make sure the display style for latitude and longitude is set to ‘Decimal Degrees’.
Tatsächlich war das der Schlüssel für mein Problem, meine Koordinaten hatten im Overlay die Einstellung in Grad und Minuten. Vielleicht hätte ich auch eher drauf kommen können, denn in der Datenbank stehen die Dezimalzahlen.
Ich dachte nicht, dass das eine Auswirkung hat. Vielmehr ging ich davon aus, es wird im Mapping automatisch umgewandelt, wie wenn ich Werte in GoogleMaps oder OSM eingebe.
Jetzt gibt es noch etwas Schwierigkeiten bei der Eingabe von neuen Orten, die werden noch nicht ergänzend dargestellt, aber die könnte ich ab sofort dann über Geofield ergänzend auf den Karte anzeigen.