2013-08-28 4 views
0

Я пытаюсь создать приложение в JavaScript, и мне нужно определить страну и язык местоположения пользователя на основе широты/долготы.Обнаружение страны и языка местоположения пользователя в автономном режиме

Легко использовать удаленный API как API Карт Google, но как я могу это сделать без него? Просто с широтой и долготой?

var lat = 48.8534100; 
var lng = 2.3488000; 

// Get the country from lat, lng 

// Then, get the language of the country 

Это приложение будет использоваться в путешествии. Вот почему. Затем получите посещаемую страну и ее язык.

ответ

5

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

После соответствующей polygon resolution reduction по стране полигонов - некоторые из них могут иметь границы гораздо более подробно, чем вам нужно - простой линейный пробежать все многоугольники этих стран, делая polygon-contains-point test для каждого из них, должно быть достаточно быстро достаточно.

Я работал с OpenStreetMap раньше - это действительно легко извлечь нужные данные.

+0

Возможно, это решение, но я действительно не хочу хранить все это в базе данных и т. Д. Есть ли быстрый способ? –

+0

@Scofred: Нет, вам нужны эти полигоны. Это очень быстро. – Ryan

+1

@Scofred Размер всех этих полигонов будет килобайт. Возможно, «база данных» была слишком страшным словом. Сериализуйте их в файле, но вы хотите, а затем десериализовать их из файла всякий раз, когда вы хотите их использовать. –

Смежные вопросы