Frage von siliciumcarbid, 36

Wie greife ich Koordinaten von Markern in einer GoogleMaps ab?

Hallo zusammen

In Basel haben wir einen Car-Sharing-Anbieter, der die Standorte der Fahrzeuge in einer GoogleMaps zeigt: https://member-portal.catch-a-car.ch/publicmap.html?area=2

Das runde weiss/grüne Icon ist jeweils ein Auto. Weil man das Fahrzeug an einem beliebigen Ort abstellen kann, ist der Standort also nie derselbe.

Ich würde nun gerne die Koordinaten aller Autos für mein Web-Projekt abgreifen können. Aber egal wo ich in den JavaScripts auch suche; ich finde nirgendwo einen Array oder sonst was, in dem die Autos zu finden sind.

Ist es tatsächlich möglich so etwas "geheim" zu halten? Ich dachte bisher dass so etwas immer irgendwie eingesehen werden kann, wenn es mittels JavaScript geladen wird.

Antwort
von GustavAT, 15

Du hast richtig gedacht, es kann eingesehen werden :)
Der Code ist allerdings stark unkenntlich gemacht, was die Sache für mich nicht unbedingt einfacher gemacht hat :D

Nach einer kurzen Debugging-Session durch den JavaScript Code von Catch-a-car bin ich auf folgendes gestoßen: Die Daten werden über SOAP geladen, auf die Url, das soap-request etc. bin ich übers Debuggen gekommen.

Also dann, gleich einmal ausprobiert:

https://jsfiddle.net/uqmezxse/

Die Entwicklertools aufrufen und das Ergebnis in der Konsole betrachten (Ctrl-Shift-Q in Firefox, Ctrl-Shift-J in Chrome)

Und jetzt kommt aber die Wendung: Es würde ganz normal funktionieren, wenn wir uns auf dem gleichen Server befinden, wie Catch-a-car. Allerdings ist aufgrund der Cross-Origin-Policy der Zugriff nicht erlaubt, ergo kannst du nicht an die Daten kommen, es sei denn, sie bieten eine Schnittstelle an.

// Hier nochmal die Fehlermeldung
XMLHttpRequest cannot load https://member-portal.catch-a-car.ch/acn. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://fiddle.jshell.net' is therefore not allowed access.

mfg

GustavAT

Kommentar von GustavAT ,

Noch als Hinweis: Öffnest du die Entwicklertools auf der Catch-a-Car Seite und führst den Code dort aus, bekommst du das XML-Request inklusive aller Positionen :)

(also der Aufruf funktioniert grundsätzlich)

Antwort
von qugart, 26

Das ist nicht "geheim". Du musst nur bei Catch-a-car fragen, ob sie dir die Schnittstelle öffnen.

Sie werden das aber nicht machen, da das ja zu deren Geschäftsidee gehört.


Kommentar von siliciumcarbid ,

Ja genau, so ist das leider ^^ - ich hab schon nachgefragt.

Wer gibt sowas schon einem, der ohne Businessplan daher kommt.. Ist ja nur ein Projekt. Letztendlich wäre es halt nur Werbung für die Firma. Ich bin ja keine Konkurrenz - nicht mal wenn mein Projekt um die Welt gehen würde.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten