Doku / Einrichtung / React / Azure Maps
Azure Maps einrichten
Schritte zur Verwendung von Azure Maps im Web über MapConductor. Authentifizierung mit einem Azure-Abonnementschlüssel.
PACKAGE
react-for-azuremaps
API KEY
Abonnementschlüssel
CSS
Erforderlich
REACT NATIVE
Keine
Bevor Sie beginnen
Node.js 18 oder höher
Azure Maps-Konto und Abonnementschlüssel
STEP 01
Installieren
azure-maps-control ist im Paket enthalten.
terminalnpm
npm install @mapconductor/js-sdk-core @mapconductor/js-sdk-react \
@mapconductor/react-for-azuremapsSTEP 02
Stylesheet laden
Wird nur einmal im Einstiegspunkt der App geladen. Wenn Sie dies vergessen, gehen die Position der Karte und das Erscheinungsbild der Steuerelemente verloren.
main.tsxTypeScript
import '@mapconductor/react-for-azuremaps/style.css';
STEP 03
Abonnementschlüssel übergeben
Der Schlüssel wird an subscriptionKey des State Hooks übergeben. Wenn er leer bleibt, wird die Karte nicht initialisiert.
AzureMap.tsxTypeScript · React
const state = useAzureMapsViewState({
subscriptionKey: import.meta.env.VITE_AZURE_MAPS_SUBSCRIPTION_KEY ?? '',
mapDesignType: AzureMapsDesign.Road,
cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 12 }),
});ACHTUNG
Der Schlüssel wird über Umgebungsvariablen zur Build-Zeit übergeben (bei Vite z. B. import.meta.env.VITE_*) und sollte nicht in die Quellcodeverwaltung eingecheckt werden. Da er an das Frontend übergeben wird, müssen Sie unbedingt Referenzeinschränkungen oder Domainbeschränkungen festlegen, um Schäden zu vermeiden, falls der Schlüssel öffentlich wird.
PRÜFEN
Was Sie sehen sollten
Wenn die Azure Maps-Karte angezeigt wird, sind Sie fertig.
AzureMap.tsxTypeScript · React
import { useState } from 'react';
import { createGeoPoint, createMapCameraPosition, createMarkerState } from '@mapconductor/js-sdk-core';
import { Marker } from '@mapconductor/js-sdk-react';
import { AzureMapsDesign, AzureMapsMapView, useAzureMapsViewState } from '@mapconductor/react-for-azuremaps';
import '@mapconductor/react-for-azuremaps/style.css';
const TOKYO = createGeoPoint({ latitude: 35.6812, longitude: 139.7671 });
export function AzureMap() {
const state = useAzureMapsViewState({
subscriptionKey: import.meta.env.VITE_AZURE_MAPS_SUBSCRIPTION_KEY ?? '',
mapDesignType: AzureMapsDesign.Road,
cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 12 }),
});
const [markerState] = useState(() => createMarkerState({ id: 'tokyo', position: TOKYO }));
return (
<AzureMapsMapView state={state} style={{ height: 480 }}>
<Marker state={markerState} />
</AzureMapsMapView>
);
}Kartendesigns
AzureMapsDesign unterstützt die Stile von Azure Maps.
AzureMapsDesign
Notes
Road / RoadShadedRelief
Standardstraßenkarte mit Geländeschattierung
Satellite / SatelliteRoadLabels
Satellitenbild mit Beschriftung
GrayscaleLight / GrayscaleDark
Für Basiskarten zur Darstellung von Daten
Night
Nachtstil
HighContrastLight / HighContrastDark
Hoher Kontrast
Blank / BlankAccessible
Keine Basiskarte
Fehlerbehebung
Die Karte wird nicht angezeigt
- Überprüfen, ob subscriptionKey keine leere Zeichenfolge ist.
- Überprüfen Sie im Azure-Portal, ob der Schlüssel gültig ist.
Die Karte wird bei der Entwicklung doppelt initialisiert
- React StrictMode führt den Effekt zweimal aus. Jeder Anbieter erkennt dies und verwirft eine der Instanzen, sodass Sie StrictMode nicht entfernen müssen.
Weiter
Der Abonnementschlüssel wird an den Browser übergeben. In der Produktionsumgebung sollten Sie den Nutzungsbereich einschränken oder Azure-Authentifizierungsmethoden in Betracht ziehen.