нельзя упорядочить результаты по расстоянию с помощью Google Api - PullRequest
0 голосов
/ 02 мая 2018

Я звоню на этот URL: https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=60.16915,24.9293937&radius=20000&keyword=k+rauta&rankBy=distance&key=KEY

По какой-то причине я не могу заказать результат ближайшим магазином первым. Как и в документации от https://developers.google.com/maps/documentation/javascript/places#place_search_requests Я добавил rankBy = расстояние , но все равно не похоже, что результат упорядочен правильно!

Я также удалил параметр радиуса, но тогда я не получил никакого результата!

Есть идеи, что мне здесь не хватает?

1 Ответ

0 голосов
/ 02 мая 2018

Если я прочитал документацию, которую вы упомянули:

google.maps.places.RankBy.DISTANCE. Эта опция сортирует результаты в порядке возрастания по их расстоянию от указанного location (обязательно). Обратите внимание, что вы не можете указать пользовательские bounds и / или radius, если указать RankBy.DISTANCE. Когда вы указываете RankBy.DISTANCE, требуется один или несколько из keyword, name или type.

Адаптируйте ваш запрос к вышеуказанному, и он будет работать.

Edit:

Вы, очевидно, смешиваете 2 разные вещи (извините, я сначала этого не видел). Библиотека Places , на которую вы указали ссылку на документацию, и веб-служба API Places 1027 *, которая отличается от других.

Они оба очень похожи, но есть как минимум одно отличие: параметр rankBy в веб-сервисе равен rankby. Обратите внимание на прописные / строчные буквы B.

Так что это будет работать: https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=60.16915,24.9293937&keyword=k+rauta&name=k+rauta&type=hardware_store&rankby=distance&key=your_api_key

Также обратите внимание, что ваша последняя попытка (ссылка в вашем комментарии) возвращает INVALID_REQUEST, а не ZERO_RESULTS или что-либо еще, что должно помочь вам понять, что есть проблема с вашим запросом, а не с тем фактом, что нет данных для вернуться ...

...