Mapcode REST API
Die Mapcode Foundation bietet eine Mapcode REST API an:
Dieser kostenlose Webservice dient nur zu Demonstrationszwecken als Beispiel. Wir werden uns bemühen, einen stabilen und anständigen Service anzubieten, und wir ermutigen Sie, damit zu experimentieren, aber bitte denken Sie daran, dass wir uns vielleicht entscheiden, den Service irgendwann einzustellen. Bitte lesen Sie den zusätzlichen Hinweis in der blauen Textbox für weitere Informationen.
Du kannst unseren Service mit curl ausprobieren:
curl -X GET https://api.mapcode.com/mapcode
Hier finden Sie einen Hilfetext, wie Sie diesen Webservice weiter nutzen können. Der Quellcode für den Webservice ist Open-Source und verfügbar unter:
Sie können es verwenden, in Ihrer eigenen Cloud betreiben und es so anpassen, wie Sie es wünschen, dass der Webservice Ihren Anforderungen entspricht.
Die folgenden Beispiele zeigen Ihnen, wie Sie den Webservice nutzen und wie Sie ihn in Ihrer eigenen Cloud einsetzen können, wenn Ihr Unternehmen darauf angewiesen ist, dass der Service immer verfügbar ist.
Beispiel: Standort in Mapcode umwandeln
Zum Beispiel, um ein Breiten-/Längenpaar von 48.858370, 2.294481 (Eiffelturm in Paris) in einen Mapcode zu konvertieren:
curl -X GET https://api.mapcode.com/mapcode/codes/48.858370,2.294481
Dies führt zu folgendem Ergebnis:
{
"international": {
"mapcode": "VHPM8.QYCK"
},
"local": {
"mapcode": "4J.P2",
"territory": "FRA"
},
"mapcodes": [
{
"mapcode": "4J.P2",
"territory": "FRA"
},
{
"mapcode": "FH.N7T",
"territory": "FRA"
},
{
"mapcode": "H60.TKL",
"territory": "FRA"
},
{
"mapcode": "HCPW.PQV",
"territory": "FRA"
},
{
"mapcode": "VHPM8.QYCK"
}
]
}
Die Antwort besteht immer aus drei Abschnitten:
-
International: Dies ist ein weltweit einzigartiger Mapcoide. Es ist auch der längste Mapcode (mit insgesamt 10 Zeichen). Verwenden Sie diesen Code nur, wenn Sie keine Ahnung haben, was der regionale Kontext für einen Code ist. Für Systeme, die in einem bestimmten Land oder Staat verwendet werden, empfehlen wir die Verwendung der kürzeren Codes.
-
Local: Dies ist einfach der kürzeste Code von allen Alternativen im Abschnitt "Mapcodes". Bitte beachten Sie, dass der Code einen unerwarteten Gebietscode in der Nähe der Grenze verwenden kann, wobei verschiedene Mapcodes für benachbarte Gebiete verfügbar sein können.
-
Mapcodes: Dies ist eine Liste aller verfügbaren Mapcodes, einschließlich des internationalen, für einen bestimmten Standort. Wenn Ihr System den geografischen Kontext kennt (z.B. wenn es sich bei dem System um ein Postleitzahlensystem für ein Land handelt), dann sollten Sie in dieser Liste nach dem kürzesten Code für Ihr Gebiet suchen und diesen verwenden.
Beispiel: Kartencode in Standort umwandeln
Um einen internationalen Kartencode wieder in einen Ort umzuwandeln, können Sie diesen verwenden:
http get https://api.mapcode.com/mapcode/coords/VHPM8.QYCK
Dies gibt den Breitengrad und den Längengrad für die Position zurück:
{
"latDeg": 48.858368,
"lonDeg": 2.2944905
}
Internationale Codes sind global eindeutig, so dass dies immer funktioniert. Wenn Sie einen kürzeren Code verwenden, den wir in der Regel empfehlen, weil er leichter zu merken und zu kommunizieren ist, müssen Sie das betreffende Gebiet als "Kontext" angeben, um den Kartencode zu disambiguieren:
http get https://api.mapcode.com/mapcode/coords/4J.P2?context=FRA
Das kehrt zurück:
{
"latDeg": 48.85838,
"lonDeg": 2.29444
}
Sie werden feststellen, dass die zurückgegebenen Positionen möglicherweise nicht genau die gleichen sind. Dies liegt daran, dass die für die internationalen und kürzeren Codes verwendeten Netze unterschiedlich sind. Die zurückgegebenen Standorte liegen immer sehr nahe beieinander, jedoch (innerhalb von 5 Metern).
Beispiel: Einsatz auf Amazon Elastic Beanstalk
Wenn Sie die Mapcode REST API bei Amazon einsetzen möchten, empfehlen wir die Verwendung von Elastic Beanstalk. Dieser Abschnitt beschreibt grob, wie dies zu tun ist.
Voraussetzungen für die Kompilierung des Dienstes sind:
-
Maven
-
JDK 8 or higher
-
Amazon AWS account
Sie können die Mapcode REST API-Binärdateien erstellen und wie folgt bereitstellen:
Den Quellcode für die Mapcode REST API finden Sie unter:
Kompilieren Sie den Quellcode und erstellen Sie eine WAR-Datei mit:
cd <source-dir>
mvn clean install
Der Build-Prozess sollte mit der Meldung "BUILD SUCCESS" enden.
Melden Sie sich bei Amazon AWS an, gehen Sie zum Menü Services und wählen Sie Elastic Beanstalk. Wählen Sie Sctions und Create environment
Erstellen Sie eine Elastic Beanstalk-Umgebung mit der folgenden Mindestkonfiguration:
-
2 or more instances
-
Recommended EC2 instance type: t2.micro or more higher
-
Platform: Tomcat running on 64bit Linux
-
No additional disk storage or databases required
-
Environment type: load balancing, auto scaling
-
Availability zones: any
-
Monitor interval: 1 minute
-
Health path: /mapcode/status
-
Ignore HTTP 4xx: enabled
-
Deployment policy: rolling
Stellen Sie die Mapcode REST API WAR-Datei in Elastic Beanstalk bereit, die sich unter:
<source dir>/deployment/target/deployment-x.y.z.war
Sie sollten nun über die von Elastic Beanstalk bereitgestellte URL (z.B. my-mapcode.elasticbeanstalk.com) auf die Mapcode REST API zugreifen können.
Verwendung der kostenlosen Mapcode REST API
Wir empfehlen Ihnen, mit unserer kostenlosen, gehosteten Mapcode REST API zu experimentieren.
Wenn Ihr Unternehmen auf diesen Service angewiesen ist, beachten Sie bitte Folgendes.
Unser Webservice ist ein kostenloser Service, aber die Mapcode Foundation kann die Verfügbarkeit dieses Service nicht garantieren und akzeptiert keine Ansprüche auf seine Verfügbarkeit.
Wenn Sie daran interessiert sind, die Mapcode REST-API für professionelle Zwecke oder in hochverfügbaren oder anspruchsvollen Kontexten zu nutzen, sollten Sie erwägen, den Dienst auf einer Cloud-Plattform wie Amazon Elastic Beanstalk, Microsoft Azure AppServic, Google App Engine, DigitalOcean Droplets oder einem anderen Cloud Computing-Anbieter selbst zu hosten.
Alternativ können Sie mit unseren Softwarebibliotheken Standorte in Mapcodes und v.v. umwandeln, um die Kosten für Cloud Computing ganz zu vermeiden.
Kontaktieren Sie uns für weitere Informationen über die Möglichkeiten.
Genießen Sie in der Zwischenzeit unseren kostenlosen Service!
Erfassung der Servicenutzungsdaten
Wir sind stets bestrebt, unsere Open-Source-Software für die Unterstützung von Mapcodes zu verbessern.
Aus diesem Grund kann die Mapcode Foundation Daten zur Dienstnutzung des kostenlosen Mapcode REST API-Dienstes sammeln.
Die erhobenen Daten werden nur zur Verbesserung unserer Open-Source-Software verwendet und nicht für kommerzielle Zwecke verwendet.