Jak używać modułu We/Wy usługi Azure Maps Spatial
Zestaw SDK sieci Web usługi Azure Maps udostępnia moduł We/Wy przestrzenny, który integruje dane przestrzenne z internetowym zestawem SDK usługi Azure Maps przy użyciu języka JavaScript lub TypeScript. Niezawodne funkcje w tym module umożliwiają deweloperom:
- Odczytywanie i zapisywanie danych przestrzennych. Obsługiwane formaty plików to: KML, KMZ, GPX, GeoRSS, GML, GeoJSON i CSV zawierające kolumny z informacjami przestrzennymi. Obsługuje również dobrze znany tekst (WKT).
- Połącz się z usługami Open Geospatial Consortium (OGC) i integruj się z internetowym zestawem SDK usługi Azure Maps oraz nakładaj usługi Web Map Services (WMS) i Web Map Tile Services (WMTS) jako warstwy na mapie. Aby uzyskać więcej informacji, zobacz Dodawanie warstwy mapy z Open Geospatial Consortium (OGC).
- Wykonywanie zapytań dotyczących danych w usłudze funkcji sieci Web (WFS). Aby uzyskać więcej informacji, zobacz Nawiązywanie połączenia z usługą WFS.
- Nakładanie złożonych zestawów danych zawierających informacje o stylu i ich automatyczne renderowanie. Aby uzyskać więcej informacji, zobacz Dodawanie prostej warstwy danych.
- Korzystaj z szybkich klas xml i rozdzielanych plików oraz modułów zapisywania. Aby uzyskać więcej informacji, zobacz Podstawowe operacje we/wy.
W tym przewodniku przedstawiono sposób integrowania i używania modułu We/Wy przestrzennego w aplikacji internetowej.
Ten klip wideo zawiera omówienie modułu We/Wy przestrzennego w zestawie SDK internetowym usługi Azure Maps.
Ostrzeżenie
Używaj tylko danych i usług pochodzących z zaufanego źródła, szczególnie w przypadku odwoływania się do niej z innej domeny. Moduł we/wy przestrzenne podejmuje kroki w celu zminimalizowania ryzyka, jednak najbezpieczniejsze podejście nie zezwala na rozpoczęcie pracy z żadną niebezpieczną danymi w aplikacji.
Wymagania wstępne
Instalowanie modułu We/Wy przestrzennego
Moduł we/wy przestrzennej usługi Azure Maps można załadować przy użyciu jednej z dwóch opcji:
Globalnie hostowana usługa Azure CDN dla modułu we/wy usługi Azure Maps. W przypadku tej opcji dodasz odwołanie do języka JavaScript w
<head>
elemencie pliku HTML.<script src="https://atlas.microsoft.com/sdk/javascript/spatial/0/atlas-spatial.js"></script>
Kod źródłowy usługi azure-maps-spatial-io można załadować lokalnie, a następnie hostowany w aplikacji. Ten pakiet zawiera również definicje języka TypeScript. W przypadku tej opcji użyj następującego polecenia, aby zainstalować pakiet:
npm install azure-maps-spatial-io
Następnie użyj deklaracji importu, aby dodać moduł do pliku źródłowego:
import * as spatial from "azure-maps-spatial-io";
Aby dowiedzieć się więcej, zobacz How to use the Azure Maps map control npm package (Jak używać pakietu npm kontrolki mapy usługi Azure Maps).
Korzystanie z modułu We/Wy przestrzennego
Utwórz nowy plik HTML.
Załaduj internetowy zestaw SDK usługi Azure Maps i zainicjuj kontrolkę mapy. Aby uzyskać szczegółowe informacje, zobacz Przewodnik sterowania mapą usługi Azure Maps. Po wykonaniu tego kroku plik HTML powinien wyglądać następująco:
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <!-- Ensures that Internet Explorer and Edge uses the latest version and doesn't emulate an older version --> <meta http-equiv="x-ua-compatible" content="IE=Edge"> <!-- Ensures the web page looks good on all screen sizes. --> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Add references to the Azure Maps Map control JavaScript and CSS files. --> <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.css" type="text/css" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.js"></script> <script type='text/javascript'> var map; function GetMap() { //Initialize a map instance. map = new atlas.Map('myMap', { view: 'Auto', //Add your Azure Maps subscription key to the map SDK. Get an Azure Maps key at https://azure.com/maps authOptions: { authType: 'subscriptionKey', subscriptionKey: '<Your Azure Maps Key>' } }); //Wait until the map resources are ready. map.events.add('ready', function() { // Write your code here to make sure it runs once the map resources are ready }); } </script> </head> <body onload="GetMap()"> <div id="myMap" style="position:relative;width:100%;min-width:290px;height:600px;"></div> </body> </html>
Załaduj moduł We/Wy usługi Azure Maps. W tym ćwiczeniu użyj usługi CDN dla modułu We/Wy usługi Azure Maps. Dodaj następujące odwołanie do
<head>
elementu pliku HTML:<script src="https://atlas.microsoft.com/sdk/javascript/spatial/0/atlas-spatial.js"></script>
Zainicjuj element
datasource
i dodaj źródło danych do mapy. Zainicjujlayer
element i dodaj źródło danych do warstwy mapy. Następnie renderuj zarówno źródło danych, jak i warstwę. Przed przewinięciem w dół, aby zobaczyć pełny kod w następnym kroku, pomyśl o najlepszych miejscach, aby umieścić fragmenty kodu źródła danych i warstwy. Pamiętaj, że przed programowym manipulowaniem mapą powinniśmy poczekać, aż zasób mapy będzie gotowy.var datasource, layer;
oraz
//Create a data source and add it to the map. datasource = new atlas.source.DataSource(); map.sources.add(datasource); //Add a simple data layer for rendering the data. layer = new atlas.layer.SimpleDataLayer(datasource); map.layers.add(layer);
Kod HTML powinien teraz wyglądać podobnie do poniższego kodu. W tym przykładzie pokazano, jak wyświetlać dane funkcji pliku XML na mapie.
Uwaga
W tym przykładzie użyto Route66Attractions.xml.
<!DOCTYPE html> <html> <head> <title>Spatial IO Module Example</title> <meta charset="utf-8"> <!-- Ensures that Internet Explorer and Edge uses the latest version and doesn't emulate an older version --> <meta http-equiv="x-ua-compatible" content="IE=Edge"> <!-- Ensures the web page looks good on all screen sizes. --> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Add references to the Azure Maps Map control JavaScript and CSS files. --> <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.min.css" type="text/css" /> <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/3/atlas.js"></script> <!-- Add reference to the Azure Maps Spatial IO module. --> <script src="https://atlas.microsoft.com/sdk/javascript/spatial/0/atlas-spatial.js"></script> <script type='text/javascript'> var map, datasource, layer; function GetMap() { //Initialize a map instance. map = new atlas.Map('myMap', { view: 'Auto', //Add your Azure Maps subscription key to the map SDK. Get an Azure Maps key at https://azure.com/maps authOptions: { authType: 'subscriptionKey', subscriptionKey: '<Your Azure Maps Key>' } }); //Wait until the map resources are ready. map.events.add('ready', function() { //Create a data source and add it to the map. datasource = new atlas.source.DataSource(); map.sources.add(datasource); //Add a simple data layer for rendering the data. layer = new atlas.layer.SimpleDataLayer(datasource); map.layers.add(layer); //Read an XML file from a URL or pass in a raw XML string. atlas.io.read('Route66Attractions.xml').then(r => { if (r) { //Add the feature data to the data source. datasource.add(r); //If bounding box information is known for data, set the map view to it. if (r.bbox) { map.setCamera({ bounds: r.bbox, padding: 50 }); } } }); }); } </script> </head> <body onload='GetMap()'> <div id="myMap" style="position:relative;width:100%;min-width:290px;height:600px;"></div> </body> </html>
Pamiętaj, aby zastąpić
<Your Azure Maps Key>
kluczem subskrypcji. Powinny zostać wyświetlone wyniki podobne do poniższego obrazu w pliku HTML:
Następne kroki
Zaprezentowana funkcja jest tylko jedną z wielu funkcji dostępnych w module We/Wy przestrzennych. Zapoznaj się z poniższymi przewodnikami, aby dowiedzieć się, jak używać innych funkcji w module We/Wy przestrzennego:
Zapoznaj się z dokumentacją operacji we/wy usługi Azure Maps Spatial: