- rechercher des places proche d'une localisation ;
- rechercher des places à l'intérieur de l'étendue d'une carte ;
- utiliser plus de 1000 catégories pour filtrer les places proposées par le service ;
- rechercher des places en utilisant des mots-clés ;
- obtenir des information attributaires détaillées sur une place, comme son nom, sa catégorie, son adresse, des informations de contact, un site web et des réseaux sociaux associés, les heures d'ouverture, les prix, les notes des utilisateurs.
Comment utiliser ce service ?
Rechercher des places à proximité
arcgisRest.findPlacesNearPoint({
x: 24.938,
y: 60.169,
categoryIds: ["16026", "16041", "10027"],
radius: 500,
authentication,
}).then(results => {
console.log(JSON.stringify(results.places, null, 2));
});
Rechercher des places selon une étendue
arcgisRest.findPlacesWithinExtent({
xmin: 24.897,
ymin: 60.159,
xmax: 24.979,
ymax: 60.178,
categoryIds: ["16026", "10027", "16032"],
authentication,
}).then(response => {
console.log(JSON.stringify(response.results, null, 2));
});
Parcourir les résultats
Une caractéristique intéressante du nouveau service de recherche de places est la possibilité de parcourir les résultats. Une seule recherche peut renvoyer jusqu'à 20 places, mais s'il y en a plus, vous pouvez utiliser l'attribut nextPage pour renvoyer jusqu'à 200 places. Cette fonctionnalité est particulièrement utile lorsque vous souhaitez afficher tous les résultats d'une recherche à proximité ou d'une recherche dans les limites d'une zone.
// Initial search
let lastResponse = await arcgisRest.findPlacesNearPoint({
x: 174.778,
y: -41.292,
radius: 250,
authentication,
});
console.log(JSON.stringify(lastResponse.results, null, 2));
// Page through results
while (lastResponse.nextPage) {
lastResponse = await lastResponse.nextPage();
console.log(JSON.stringify(lastResponse.results, null, 2));
}
Obtenir des informations détaillées sur une place
Après avoir effectué une recherche de place comme dans les exemples ci-dessus, vous pouvez demander des informations supplémentaires sur les attributs afin de mieux connaître chaque lieu. Vous pouvez demander des champs individuels ou tous les champs disponibles. Vous obtiendrez ainsi des attributs tels que le nom, l'adresse, le lieu, le téléphone, l'adresse électronique, le site web, les informations des réseaux sociaux, ainsi que les évaluations des utilisateurs et des prix.
arcgisRest
.getPlaceDetails({
placeId: "bd5f5dfa788b7c5f59f3bfe2cc3d9c60",
requestedFields: [
"name",
"categories"
"address:adminRegion",
"address:censusBlockId",
"address:country",
"address:designatedMarketArea",
"address:extended",
"address:locality",
"address:neighborhood",
"address:poBox",
"address:postcode",
"address:postTown",
"address:region",
"address:streetAddress",
"contactInfo:telephone",
"contactInfo:website",
"contactInfo:fax",
"contactInfo:email",
"socialMedia:facebookId",
"socialMedia:instagram",
"socialMedia:twitter",
"chains",
"description",
"rating:user",
"rating:price",
"hours:opening",
"hours:popular",
"hours:openingText",
],
authentication,
})
.then(results => {
console.log(JSON.stringify(results, null, 2));
});
Pour apprendre comment réaliser ce type de recherche, rendez-vous dans la section Get place details de la documentation
Les nouvelles ressources
Pour aller plus loin dans la prise en main ce nouveau service, notez qu'il s'accompagne de la sortie d'un
nouveau chapitre dédié
au sein du
guide développeurs d'Esri dédié aux APIs cartographique et aux services de
localisation. Il inclut des démos avec l'API REST JS et l'API REST, des
extraits de code, et des
tutoriels. Vous pourrez également retrouver une nouvelle section pour ce
service dans la documentation de référence de l'API REST.
Aucun commentaire:
Enregistrer un commentaire