Abrufen von Informationen von einer Koordinate

In diesem Artikel wird gezeigt, wie Sie eine inverse Adresssuche durchführen, die die Adresse einer angeklickten Popup-Position anzeigt.

Es gibt zwei Möglichkeiten, eine inverse Adresssuche durchzuführen. Eine Möglichkeit besteht darin, die Azure Maps-API für eine inverse Adresssuche über ein Dienstmodul abzufragen. Die andere Möglichkeit besteht in der Verwendung der Fetch-API für eine Anforderung an die Azure Maps-API für die umgekehrte Adresssuche, um eine Adresse zu finden. Beide Möglichkeiten werden im Folgenden untersucht.

Durchführen einer inversen Suchanforderung über das Dienstmodul

Im obigen Code erstellt der erste Block ein Kartenobjekt und legt als Authentifizierungsmechanismus die Verwendung des Zugriffstokens fest. Eine Anleitung finden Sie unter Erstellen einer Karte.

Der zweite Codeblock erstellt ein TokenCredential-Element, um HTTP-Anforderungen an Azure Maps mit dem Zugriffstoken zu authentifizieren. Anschließend wird das TokenCredential-Element an atlas.service.MapsURL.newPipeline() übergeben, und es wird eine Pipeline-Instanz erstellt. searchURL stellt eine URL zu Suchvorgängen von Azure Maps dar.

Der dritte Codeblock aktualisiert den Stil des Mauscursors in einen Zeiger und erstellt ein popup-Objekt. Eine Anleitung finden Sie unter Hinzufügen eines Popupfensters zur Karte.

Der vierte Codeblock fügt einen Ereignislistener für Mausklicks hinzu. Bei Auslösung wird eine Suchabfrage mit den Koordinaten des Punkts erstellt, auf den geklickt wurde. Dabei wird die getSearchAddressReverse-Methode verwendet, um die API für die umgekehrte Adresssuche nach der Adresse der Koordinaten abzufragen. Anschließend wird mit der Methode geojson.getFeatures() eine GeoJSON-Merkmalsauswahl aus der Antwort extrahiert.

Der fünfte Codeblock richtet den HTML-Popupinhalt ein, um die Adresse aus der Antwort für die Koordinatenposition, auf die geklickt wurde, anzuzeigen.

Die Änderung des Cursors, das Popup-Objekt und das Klickereignis werden jeweils im Ladeereignislistener der Karte erstellt. Diese Codestruktur stellt sicher, dass die Karte vollständig geladen wurde, bevor Koordinateninformationen abgerufen werden.

Durchführen einer inversen Suchanforderung über die Fetch-API

Klicken Sie auf die Karte, um für die ausgewählte Position mithilfe der Fetch-API eine inverse Geocodierungsanforderung auszuführen.

Im obigen Code erstellt der erste Codeblock ein Kartenobjekt und legt als Authentifizierungsmechanismus das Zugriffstoken fest. Eine Anleitung finden Sie unter Erstellen einer Karte.

Der zweite Codeblock aktualisiert den Stil des Mauscursors zu einem Zeiger. Er instanziiert ein popup-Objekt. Eine Anleitung finden Sie unter Hinzufügen eines Popupfensters zur Karte.

Der dritte Codeblock fügt einen Ereignislistener für Mausklicks hinzu. Nach einem Mausklick wird mithilfe der Fetch-API die Azure Maps-API für eine umgekehrte Adresssuche nach der Adresse für die Koordinaten, auf die geklickt wurde, abgefragt. Für eine erfolgreiche Antwort sammelt sie die Adresse für den angeklickten Standort. Sie definiert den popup-Inhalt und die Position mithilfe der Funktion setOptions der popup-Klasse.

Die Änderung des Cursors, das Popup-Objekt und das Klickereignis werden jeweils im Ladeereignislistener der Karte erstellt. Diese Codestruktur stellt sicher, dass die Karte vollständig geladen wurde, bevor Koordinateninformationen abgerufen werden.

Nächste Schritte

Erfahren Sie mehr zu den in diesem Artikel verwendeten Klassen und Methoden:

Map

Die folgenden Artikel enthalten vollständige Codebeispiele: