Az Azure Maps térbeli IO-moduljának használata
Az Azure Maps Térbeli I/O-modul javaScript vagy TypeScript használatával integrálja a térbeli adatokat az Azure Maps Web SDK-val. Ez az útmutató bemutatja, hogyan integrálható és használható a térbeli IO-modul egy webalkalmazásban.
A modul robusztus funkciói a következőkre használhatók:
-
Térbeli adatok olvasása és írása. A következő fájlformátumokat használhatja:
- Keyhole Markup Language (KML).
- Tömörített KML (KMZ).
- GPS Exchange Formátum (GPX).
- Földrajzi igazán egyszerű szindikálás (GeoRSS).
- Földrajzi korrektúranyelv (GML).
- Földrajzi JavaScript objektum jelölése (GeoJSON).
- Jól ismert szöveg (WKT).
- Vesszővel tagolt értékek (CSV), ha az oszlopok térbeli információkat tartalmaznak.
- Csatlakozzon az Open Geospatial Consortium (OGC) szolgáltatásaihoz, és integráljon az Azure Maps Web SDK-val. A webes térképszolgáltatások (WMS) és a webtérkép-csempeszolgáltatások (WMTS) rétegként is átfedhetők a térképen. További információt az Open Geospatial Consortium (OGC) térképrétegének hozzáadása című témakörben talál.
- Adatok lekérdezése egy webszolgáltatásban (WFS). További információ: Csatlakozás WFS-szolgáltatáshoz.
- Összetett adathalmazok átfedése, amelyek stílusinformációkat tartalmaznak, amelyek automatikusan renderelhetők. További információ: Egyszerű adatréteg hozzáadása.
- Használjon nagy sebességű XML- és tagolt fájlolvasó- és íróosztályokat. További információ: Core IO-műveletek.
Az alábbi videó áttekintést nyújt az Azure Maps Web SDK térbeli I/O-modulról.
Figyelmeztetés
Csak megbízható forrásból használjon adatokat és szolgáltatásokat, különösen akkor, ha az adatok egy másik tartományból származnak. A térbeli IO-modul lépéseket tesz a kockázat minimalizálása érdekében, de nem szabad minden veszélyes adatot engedélyeznie az alkalmazásba függetlenül.
Előfeltételek
A Térbeli IO-modul telepítése
Az Azure Maps térbeli IO-modulját az alábbi két lehetőség egyikével töltheti be:
Az első lehetőség a globálisan üzemeltetett Azure-tartalomkézbesítési hálózat használata az Azure Maps Térbeli IO-modulhoz. A hivatkozás hozzáadásához használja a
<head>
következő szkriptcímkét a HTML-fájl elemében:<script src="https://atlas.microsoft.com/sdk/javascript/spatial/0/atlas-spatial.js"></script>
A második lehetőséggel helyileg betöltheti az Azure-maps-spatial-io forráskódját, és üzemeltetheti azt az alkalmazással. Ez a csomag TypeScript-definíciókat is tartalmaz. A csomag telepítéséhez használja a következő parancsot:
npm install azure-maps-spatial-io
Importáló deklarációval adja hozzá a modult egy forrásfájlhoz:
import * as spatial from "azure-maps-spatial-io";
További információ: Az Azure Maps térképvezérlő npm-csomagjának használata.
A térbeli IO-modul implementálása
Hozzon létre egy új HTML-fájlt.
Töltse be az Azure Maps Web SDK-t, és inicializálja a térképvezérlőt. A részletekért tekintse meg az Azure Maps térképvezérlési útmutatójában. A HTML-fájlnak így kell kinéznie:
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <!-- Ensure that Internet Explorer and Edge use the latest version and don't emulate an older version. --> <meta http-equiv="x-ua-compatible" content="IE=Edge"> <!-- Ensure that 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>
Töltse be az Azure Maps térbeli IO-modult, és használja a tartalomkézbesítési hálózatot az Azure Maps Térbeli IO-modulhoz. Adja hozzá a következő hivatkozást a
<head>
HTML-fájl eleméhez:<script src="https://atlas.microsoft.com/sdk/javascript/spatial/0/atlas-spatial.js"></script>
Inicializáljon egy adatforrást, és adja hozzá a térképhez.
Inicializáljon egy egyszerű adatréteget, és adja hozzá az adatforrást.
Az adatréteg renderelése.
Mielőtt legörget a teljes kód megtekintéséhez a következő lépésben, határozza meg az adatforrás- és rétegkódrészletek elhelyezésének legjobb helyét. Várjon, amíg a térkép erőforrásai készen állnak, mielőtt programozott módon módosítja a térképet.
var datasource, layer;
Keresse meg a legjobb helyeket a kódrészletek elhelyezéséhez.
//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);
A HTML-kódnak az alábbihoz hasonlóan kell kinéznie. A mintakód bemutatja, hogyan jelenítheti meg egy XML-fájl funkcióadatait egy térképen.
Feljegyzés
Ez a példa Route66Attractions.xml használ.
<!DOCTYPE html> <html> <head> <title>Spatial IO Module Example</title> <meta charset="utf-8"> <!-- Ensure that Internet Explorer and Edge use the latest version and don't emulate an older version. --> <meta http-equiv="x-ua-compatible" content="IE=Edge"> <!-- Ensure that 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>
Ne felejtse el lecserélni
<Your Azure Maps Key>
az előfizetési kulcsát. A HTML-fájlnak tartalmaznia kell egy ilyen képet:
Kapcsolódó tartalom
Ez a cikk a térbeli IO-modulban elérhető számos funkció közül csak egyet ismertet. Ha többet szeretne megtudni másokról, olvassa el az alábbi útmutatókat: