Я не верю, что Google Terms of Service позволяет хранить их данные. См. 10.1.3 (b):
Вы не должны предварительно извлекать, кэшировать или хранить Контент, за исключением того, что вы можете хранить: (i) ограниченное количество Контента с целью повышения производительности вашего Внедрение API Карт, если вы делаете это временно, надежно и таким образом, чтобы не разрешать использование Контента вне Сервиса; и (ii) любой идентификатор или ключ контента, который специально разрешает хранить в Документах API Карт. Например, вы не должны использовать Контент для создания независимой базы данных из «мест» или другой информации о локальных списках.
«Временный безопасный» магазин, который «не разрешает использование Контента за пределами Сервиса», является в основном кешем браузера. Он может включает локальное хранилище HTML5 в браузере. Он не будет включать в себя какую-либо внешнюю базу данных, которая позволяет использовать данные в другом месте. И 250 МБ вряд ли «ограниченное количество»!
Ничто в документации Distance Matrix переопределяет это положение и позволяет хранить эти данные.
Итак: вы ограничены хранения расстояния прямой линии (если вы не используете геокодер Google, чтобы найти место).
Я не совсем уверен, почему Google является ограничительным это; это, вероятно, результат их собственных лицензий от поставщиков данных.
Так что это не совсем и пессимизм, храня расстояние данных будут нуждаться в таблице с тремя столбцами: origin
destination
, и distance
. Выбор одной строки из 5000 будет быстрым.
Поскольку данные, которые вы сохраняете на самом деле просто результат некоторого довольно простой Шир/математике, не было бы лучше просто хранить каждую точку в базе данных с его широта/долгота, и вычислить разницу между двумя заданными пункты с этих цифр по запросу? Да, это немного увеличит время загрузки, но весит это против экономии в использовании данных, и я лично считаю, что это того стоит. – DaveRandom
Сколько записей у вас в таблице есть все пространство? Можете ли вы опубликовать схему этой таблицы? Возможно, также образец записей из этой таблицы? –
Ваш комментарий к сообщению с PHP, MySQL, Perl и SQLite. Какая конкретная комбинация технологий используется в приложении? Можете ли вы использовать другие технологии для решения проблемы, например PostgreSQL? –