Поиск города

Поиск города (автозаполнение)

Выполняйте поиск по городам, населенным пунктам и пригородам, чтобы пользователи могли выбрать правильное местоположение перед выполнением астрологических расчетов.

Примечание: Для обеспечения высокой производительности широкие запросы (менее 4 символов, e.g., «San») автоматически ограничиваются 5 результатами. Будьте конкретны (e.g., «Сан-Франциско»), чтобы получить больше результатов.
Индийские населенные пункты: Geo V2 может возвращать индийские города, населенные пункты и пригороды непосредственно из поискового запроса. Необязательный country параметр предназначен только для сужения неоднозначных глобальных совпадений.

Конечная точка

GEThttps://api.freeastroapi.com/api/v2/geo/search

Требуется x-api-key header.

Тест Live Geo V2

Топ-5 результатов обновляются по мере ввода.

Параметры запроса

ParameterTypeRequiredDescription
qstringYesПоисковый запрос (префикс названия города). Минимум 2 символа.
limitintegerNoМаксимальные результаты, которые можно вернуть. По умолчанию: 10, максимум: 50. Примечание. Для поисковых запросов длиной более 4 символов ограничение автоматически ограничивается 5 для повышения производительности.
countrystringNoДополнительный фильтр страны ISO 3166-1 alpha-2 для сужения неоднозначных глобальных совпадений. Не требуется для индийских городов, населенных пунктов или пригородов.

Примеры кода

# Search for cities starting with "paris"
curl -H "x-api-key: YOUR_API_KEY" "https://api.freeastroapi.com/api/v2/geo/search?q=paris&limit=5"

# Search Indian localities and suburbs without a country filter
curl -H "x-api-key: YOUR_API_KEY" "https://api.freeastroapi.com/api/v2/geo/search?q=mulund&limit=5"

Районы Индии

Индийские места включают в себя дополнительный district поле, если доступны данные по району. Это помогает различать места с одинаковым названием города или населенного пункта, например Vangaon in Palghar versus Aurangabad.

Для результатов non-Indian: district возвращается как null. Существующие поля остаются неизменными, поэтому клиенты могут продолжить чтение. name, country, state, координаты, часовой пояс и население.

Поля ответа

FieldTypeDescription
resultsarrayСписок подходящих городов
results[].namestringНазвание города
results[].countrystringКод страны ISO
results[].statestring | nullШтат, провинция, регион или административная зона first-level, если доступно.
results[].districtstring | nullРайон только для индийских мест. Результаты Non-Indian возвращают null.
results[].latfloatLatitude
results[].lngfloatLongitude
results[].timezonestringИдентификатор часового пояса IANA (e.g., 'Europe/Paris')
results[].populationintegerНаселение города (используется для сортировки)
countintegerКоличество возвращенных результатов

Пример ответа

{
  "results": [
    {
      "name": "Vāngaon",
      "country": "IN",
      "state": "Maharashtra",
      "district": "Palghar",
      "lat": 19.87621,
      "lng": 72.76267,
      "timezone": "Asia/Kolkata",
      "population": 0
    },
    {
      "name": "Vangaon",
      "country": "IN",
      "state": "Maharashtra",
      "district": "Aurangabad",
      "lat": 20.56385,
      "lng": 75.36115,
      "timezone": "Asia/Kolkata",
      "population": 0
    }
  ],
  "count": 2
}

💡 Рекомендуемое использование

Используйте эту конечную точку для создания автозаполнения города в вашем приложении:

  1. Пользователь начинает вводить название города в вашей форме.
  2. После 2+ символов вызовите эту конечную точку с введенным текстом.
  3. Покажите результаты как выпадающий список для выбора.
  4. Когда пользователь выбирает город, используйте значения lat, lng и timezone в вызовах astrology API.

Это гарантирует, что пользователи всегда выбирают действительный город, который может определить API, избегая ошибок поиска координат.

Следующие шаги