мастер спорта
С нами с 20.06.12
Сообщения: 2593
Рейтинг: 13
|
Добавлено: 02/11/17 в 11:06 |
Подскажите сервис для определения расстояний между городами.
Задача: у фирмы есть более 30ти филиалов по России, нужно определить ближайший до пользователя филиал. Пользователь разумеется указывает свой город, но есть вероятность что в его городе филиала нет.
Примерная простая схема:
- есть филиалы в Москве и Питере
- пользователь из Архангельска (там филиала нет)
расстояние москва архангельск = 1239,3 км,
расстояние санкт петербург архангельск = 1153,3 км
показываем цены из питера т.к. расстояние меньше на 100км, отгружаем разумеется также из питера.
Может кто знает подобный сервис с вменяемым API?
Смотрел google distance matrix - то что нужно, но лимит на 25 точек до которых можно определить расстояние
|
|
|
|
+
С нами с 09.05.17
Сообщения: 661
Рейтинг: 586
|
Добавлено: 02/11/17 в 14:25 |
а зачем тут апи то? или именно по дорогам расстояние нужно?
можно же просто по географическим координатам посчитать.
вот гугл подсказывает
Код: [развернуть] | function distance($lat1,$lng1,$lat2,$lng2)
{
// Convert degrees to radians.
$lat1=deg2rad($lat1);
$lng1=deg2rad($lng1);
$lat2=deg2rad($lat2);
$lng2=deg2rad($lng2);
// Calculate delta longitude and latitude.
$delta_lat=($lat2 - $lat1);
$delta_lng=($lng2 - $lng1);
return round( 6378137 * acos( cos( $lat1 ) * cos( $lat2 ) * cos( $lng1 - $lng2 ) + sin( $lat1 ) * sin( $lat2 ) ) );
} |
у postgresql есть встроенные функции для работы с координатами + типы данных соотвествующие, к слову.
Последний раз редактировалось: Oswell E. Spencer (02/11/17 в 14:32), всего редактировалось 1 раз
|
|
|
|
+
С нами с 09.05.17
Сообщения: 661
Рейтинг: 586
|
Добавлено: 02/11/17 в 14:27 |
дабл
|
|
|
|
С нами с 19.05.17
Сообщения: 191
Рейтинг: 326
|
Добавлено: 02/11/17 в 19:39 |
Нужен бесплатный продукт?
Есть яндекс-маршрутизатор, но он денег стоит.
|
|
|
|
zza
С нами с 19.10.03
Сообщения: 9911
Рейтинг: 4827
|
Добавлено: 02/11/17 в 19:44 |
все продвинутые дальнобои юзают ati.su
|
|
|
|
мастер спорта
С нами с 20.06.12
Сообщения: 2593
Рейтинг: 13
|
Добавлено: 03/11/17 в 06:01 |
Oswell E. Spencer писал: | а зачем тут апи то? или именно по дорогам расстояние нужно? |
расстояние нужно по дорогам
mx-user писал: | Нужен бесплатный продукт? |
лучше платный, так как в этом случае вероятность того, что этот сервис проживет долго - выше
в идеале нужно что-то простое, желательно платное, по типу вот этого
origins=Новосибирск - исходная точка
destinations=Волгоград|Москва - точки до которых измеряем расстояние
mode=driving - режим поездки на автомобиле
|
|
|
|
+
С нами с 09.05.17
Сообщения: 661
Рейтинг: 586
|
Добавлено: 03/11/17 в 15:09 |
rassell: вот зачем тебе клиенту все 30+ точек показывать, выбери сначала 5 ближайших например, а потом расстояния по дороге до них. накуя считать для 30+ точек сразу, если это бессмысленно?
вот я ж тебе функцию дал, выбери по ней N ближайших, но менее 25, и дальше по гуглу дороги показывай.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |