दस्तावेज़ / सेटअप / React / Azure Maps

Azure Maps का सेटअप

Web पर Azure Maps को MapConductor से उपयोग करने की प्रक्रिया है। Azure की सब्सक्रिप्शन कुंजी के साथ प्रमाणीकरण करें।

PACKAGE
react-for-azuremaps
API KEY
सब्सक्रिप्शन कुंजी
CSS
आवश्यक
REACT NATIVE
कोई नहीं

शुरू करने से पहले

Node.js 18 या उच्चतर
Azure Maps का खाता और सब्सक्रिप्शन कुंजी
STEP 01

इंस्टॉल करें

azure-maps-control पैकेज में शामिल है।

terminalnpm
npm install @mapconductor/js-sdk-core @mapconductor/js-sdk-react \
            @mapconductor/react-for-azuremaps
STEP 02

स्टाइलशीट लोड करें

ऐप के एंट्री पॉइंट पर इसे एक बार लोड करें। अगर आप भूल जाते हैं, तो मानचित्र की स्थिति या नियंत्रण का स्वरूप खराब हो सकता है।

main.tsxTypeScript
import '@mapconductor/react-for-azuremaps/style.css';
STEP 03

सब्सक्रिप्शन कुंजी पास करें

कुंजी को स्टेट हुक की subscriptionKey में पास किया जाता है। यदि यह खाली है, तो मानचित्र प्रारंभ नहीं होगा।

AzureMap.tsxTypeScript · React
const state = useAzureMapsViewState({
  subscriptionKey: import.meta.env.VITE_AZURE_MAPS_SUBSCRIPTION_KEY ?? '',
  mapDesignType: AzureMapsDesign.Road,
  cameraPosition: createMapCameraPosition({ position: TOKYO, zoom: 12 }),
});
सावधानी
कुंजी को बिल्ड समय के एनवायरनमेंट वैरिएबल (Vite होने पर import.meta.env.VITE_*) से पास करें और इसे सोर्स कंट्रोल में न रखें। चूंकि यह फ्रंटएंड तक जाता है, इसलिए लीक होने पर नुकसान न हो, इसके लिए रेफरर प्रतिबंध या डोमेन प्रतिबंध अवश्य लगाएं।

जाँच

आपको क्या दिखना चाहिए

Azure Maps का मानचित्र दिखाई देने पर पूरा हो गया।

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>
  );
}

मैप डिज़ाइन

AzureMapsDesign Azure Maps की शैलियों का समर्थन करता है।

AzureMapsDesign
Notes
Road / RoadShadedRelief
मानक सड़क मानचित्र और राहत के साथ
Satellite / SatelliteRoadLabels
उपग्रह छवियां और लेबल के साथ
GrayscaleLight / GrayscaleDark
डेटा रखने के लिए आधार परत के लिए
Night
रात की शैली
HighContrastLight / HighContrastDark
उच्च कंट्रास्ट
Blank / BlankAccessible
बेस मैप के बिना

समस्या निवारण

मानचित्र नहीं दिख रहा

  • subscriptionKey खाली स्ट्रिंग तो नहीं है, इसकी जांच करें।
  • Azure पोर्टल पर जांचें कि कुंजी मान्य है या नहीं।

विकास के समय ही मानचित्र दोहराकर प्रारंभ होता है

  • React StrictMode effect को दो बार निष्पादित करता है। प्रत्येक प्रदाता इसे पहचानता है और उनमें से एक को छोड़ने के लिए डिज़ाइन किया गया है, इसलिए आपको StrictMode को हटाने की आवश्यकता नहीं है।

आगे

सब्सक्रिप्शन कुंजी ब्राउज़र तक जाती है। उत्पादन में उपयोग की सीमा को प्रतिबंधित करें या Azure की प्रमाणीकरण विधि पर विचार करें।