Documentación / Configuración / React / Azure Maps
Configurar Azure Maps
Pasos para usar Azure Maps en la web desde MapConductor. Se autentica con una clave de suscripción de Azure.
PACKAGE
react-for-azuremaps
API KEY
Clave de suscripción
CSS
Obligatorio
REACT NATIVE
Ninguno
Antes de empezar
Node.js 18 o superior
Cuenta de Azure Maps y clave de suscripción
STEP 01
Instalar
azure-maps-control está incluido en el paquete.
terminalnpm
npm install @mapconductor/js-sdk-core @mapconductor/js-sdk-react \
@mapconductor/react-for-azuremapsSTEP 02
Cargar hoja de estilos
Se carga una sola vez en el punto de entrada de la aplicación. Si olvida hacerlo, la posición del mapa y la apariencia de los controles se romperán.
main.tsxTypeScript
import '@mapconductor/react-for-azuremaps/style.css';
STEP 03
Pasar la clave de suscripción
La clave se pasa a subscriptionKey del enlace de estado. Si se deja vacía, el mapa no se inicializará.
AzureMap.tsxTypeScript · React
const state = useAzureMapsViewState({
subscriptionKey: import.meta.env.VITE_AZURE_MAPS_SUBSCRIPTION_KEY ?? '',
mapDesignType: AzureMapsDesign.Road,
cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 12 }),
});PRECAUCIÓN
La clave se pasa desde variables de entorno en tiempo de compilación (en Vite, import.meta.env.VITE_*) y no debe colocarse en el control de código fuente. Dado que pasa al frontend, asegúrese de establecer restricciones de referer o dominio para minimizar el daño si se hace pública.
VERIFICAR
Lo que deberías ver
Si aparece el mapa de Azure Maps, ha terminado.
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>
);
}Diseños de mapa
AzureMapsDesign es compatible con los estilos de Azure Maps.
AzureMapsDesign
Notes
Road / RoadShadedRelief
Mapa de carreteras estándar con sombreado de relieve
Satellite / SatelliteRoadLabels
Imagen satelital con etiquetas
GrayscaleLight / GrayscaleDark
Para mapas base sobre los que cargar datos
Night
Estilo nocturno
HighContrastLight / HighContrastDark
Alto contraste
Blank / BlankAccessible
Sin mapa base
Solución de problemas
El mapa no aparece
- Compruebe que subscriptionKey no sea una cadena vacía.
- Verifique en el portal de Azure que la clave sea válida.
El mapa se inicializa doble durante el desarrollo
- React StrictMode ejecuta el efecto dos veces. Cada proveedor detecta esto y descarta una de las instancias, por lo que no es necesario desactivar StrictMode.
Siguiente
La clave de suscripción se pasa al navegador. En producción, limite el alcance de uso o considere los métodos de autenticación de Azure.