ArcGIS Location Platform est notre offre pour les développeurs afin d'intégrer directement dans des applications web innovantes des services de localisation puissants tels que l'affichage de cartes, le routage, la géocodification et la recherche de lieux. Dans cet article, nous examinons en détail le dépôt de démonstration officiel GitHub d'Esri Inc. et expliquons comment les différentes fonctionnalités sont techniquement mises en œuvre et interagissent de manière cohérente.<\/P>
L'application est basée sur HTML et JavaScript et utilise notre ArcGIS Maps SDK for JavaScript. Le fichier central <\/SPAN>main.js<\/FONT> <\/SPAN>contient toute la logique pour l'initialisation de la carte, l'intégration des données et l'interaction avec les services de localisation.<\/P>Au démarrage de l'application, une carte avec une basemap sélectionnable est chargée. Cela se fait par l'initialisation d'un objet <\/SPAN>Map avec le type de carte souhaité. Dans l'exemple de code suivant, une basemap optimisée pour la navigation est utilisée :<\/P>const map = new Map({
basemap: "arcgis/navigation"
});<\/code><\/pre> <\/P>Ensuite, une <\/SPAN>MapView<\/FONT> est créée, qui rend la carte dans un conteneur HTML. La position de départ est également définie sur Palm Springs :<\/SPAN><\/P>const view = new MapView({
container: "viewDiv",
map: map,
center: [-116.5453, 33.8303],
zoom: 13
});<\/code><\/pre> <\/P>Une fonctionnalité centrale de la démo est le chargement des Points d'Intérêt (POIs) à partir d'un fichier CSV. Ce fichier est préalablement téléchargé dans un service de fonctionnalités. Le code suivant montre comment ce service est intégré en tant que <\/SPAN>FeatureLayer<\/FONT> :<\/SPAN><\/P>const featureLayer = new FeatureLayer({
url: "https://services.arcgis.com/026/FeatureServer/0",
popupTemplate: {
title: "{Name}",
content: "{Description}"
},
renderer: {
type: "unique-value",
field: "Type",
uniqueValueInfos: [...]
}
});
map.add(featureLayer);<\/code><\/pre> <\/P>La propriété <\/SPAN>popupTemplate<\/FONT> définit quelles informations sont affichées lors du clic sur un objet. Le <\/SPAN>renderer <\/SPAN>assure que différents types de POIs sont représentés différemment.<\/P>Pour le calcul de l'itinéraire, une <\/SPAN>RouteTask<\/FONT> est utilisée, à laquelle on transmet les points de départ et d'arrivée. Après un calcul réussi, l'itinéraire est affiché sur la carte en tant que <\/SPAN>Graphic<\/FONT> :<\/P>route.solve(routeParams).then(function(data) {
const routeResult = data.routeResults[0].route;
routeLayer.add(new Graphic({
geometry: routeResult.geometry,
symbol: routeSymbol
}));
});<\/code><\/pre> <\/P>Les <\/SPAN>routeParams<\/FONT> contiennent notamment les géométries des points de départ et d'arrivée ainsi que des paramètres optionnels comme les informations sur le trafic.<\/P>L'application permet également d'afficher ou masquer les données de trafic provenant de notre ArcGIS Living Atlas of the World. Cela se fait via un simple interrupteur de visibilité :<\/P>trafficLayer.visible = !trafficLayer.visible;<\/code><\/pre> <\/P>ArcGIS Location Platform permet également d'interroger l'altitude à un point donné. Pour cela, notre Elevation-Service est utilisé, qui renvoie la coordonnée Z (altitude) pour un point donné :<\/SPAN><\/P>elevationLayer.queryElevation(point).then(function(result) {
console.log("Elevation:", result.geometry.z);
});<\/code><\/pre> <\/P>Il faut noter que cette fonction ne fonctionne qu'avec certaines basemaps contenant des informations d'altitude.<\/P>Enfin, l'application offre aussi un accès à notre Places-Service, qui permet de rechercher des lieux proches appartenant à certaines catégories. Dans l'exemple suivant, des lieux comme des cafés ou des musées proches du centre de la carte sont recherchés :<\/P>placesService.searchNearby({
location: view.center,
categories: ["Coffee shop", "Museum"],
maxResults: 10
}).then(showResults);<\/code><\/pre> <\/P>Lorsqu'ils travaillent avec ArcGIS Location Platform, les développeurs doivent prendre en compte certains cas particuliers. Par exemple, une clé API valide doit être créée dans le fichier <\/SPAN>secret.js<\/FONT> pour pouvoir utiliser les services de localisation correspondants. De plus, il peut y avoir des problèmes lors de l'utilisation de fichiers CSV personnels s'ils ne sont pas encodés en UTF-8 ou contiennent des caractères spéciaux. Les données de trafic ne fonctionnent également qu'avec certaines basemaps, ce qui doit être pris en compte lors de la configuration.<\/P>ArcGIS Location Platform offre une gamme impressionnante de fonctionnalités qui peuvent être intégrées dans des applications web modernes avec quelques lignes de code seulement. Que ce soit pour le routage, la recherche de lieux ou l'affichage des données de trafic – c'est un outil puissant pour tous ceux qui souhaitent valoriser les informations géographiques.<\/P>Si vous souhaitez développer vous-même une application avec nos services de localisation, nous recommandons de forker le dépôt officiel de démonstration et d'expérimenter avec vos propres cas d'utilisation. La documentation est clairement structurée et les exemples sont facilement adaptables.<\/P>N'hésitez pas à visiter notre Developer Hub.<\/P>