l'api google maps v3 comment le rang par une distance le plus proche
Personne ne sait comment utiliser le rang par la distance option de recherche qui est mentionné ici?
https://developers.google.com/maps/documentation/javascript/places#place_search_requests
L'inscription de ce dans les options de demande ne semble pas fonctionner. Voici ma partie de code par rapport à ceci:
var request = {
location: coords,
//radius: 30000,
keyword: ['puma, retail'],
types: ['store'],
rankBy: google.maps.places.RankBy.DISTANCE
};
service = new google.maps.places.PlacesService(map);
service.search(request, callback);
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
listResults(results[i]);
}
}
}
Code de localiser et liste de résultats, si je comprend un rayon, mais les résultats ne sont pas présentés dans un ordre croissant en fonction de la distance. Google docs dire un rayon n'est pas nécessaire si l'utilisation de la rankBy option. Ai-je raté quelque chose?
Je suis dans le même bateau... la chasse pour une solution.
OriginalL'auteur JFlo | 2012-05-23
Vous devez vous connecter pour publier un commentaire.
Était d'avoir le même problème.
Selon cette source: http://www.geocodezip.com/v3_GoogleEx_place-search.html
J'ai été en mesure de formuler la requête en tant que tel:
Var key est la clé API qui n'est pas nécessaire, mais a ajouté pour l'utiliser plus tard. Le GPS est:
Enfin, j'ai fait tout ce que vous avez fait sauf que j'ai ajouté des limites à une carte que je n'allais pas à l'utiliser. Pour ce que j'ai fait:
OriginalL'auteur brutalhonesty
Vous ne pouvez pas utiliser le rayon et la RankBy.DISTANCE propriétés de l'ensemble. Par conséquent, vous avez deux options:
1) Recherche par rayon, puis trier les résultats en fonction de la distance dans votre propre code.
Exemple:
Option 2: Recherche par RankBy.La Distance puis cap le résultat en utilisant le rayon. Encore une fois, vous auriez besoin d'haversine formule pour le calcul des distances.
OriginalL'auteur manwhowillsoldtheworld
Vous ne pouvez pas utiliser le rayon de + rankBy propriétés de l'ensemble.
Si vous avez besoin de les localités les plus proches, de choisir certains types, et de définir la rankBy convenance.
où vous pouvez définir placeTypes comme ce
];
OriginalL'auteur SimionBaws
Veuillez noter que l'Api actuelle Doc la "recherche" de la méthode sur le PlacesService classe n'est pas disponible.
https://developers.google.com/maps/documentation/javascript/reference?hl=it#PlacesService
Vous avez à choisir entre:
Si vous choisissez de RankBy.DISTANCE tu ne peux pas régler le rayon
Si vous voulez restreindre les données en fonction d'une distance de rayon, vous pouvez utiliser cette fonction pour vérifier si la resut est trop loin.
Veuillez noter que c'est également la seule façon de obtenir des places à l'intérieur d'un certain rayon car lorsque vous spécifiez "rankBy:google.cartes.des lieux.RankBy.L'IMPORTANCE" et un "rayon=xx" la placesService vous donner également les résultats en dehors de la zone définie.
OriginalL'auteur Marco Staffoli