Эти города взяты из справочника GeoNames Gazetteer.
все города с населением > 1000 или местами адмиралтейства (около 150 000) [...]
Таким образом, этот файл обновляется ежемесячно , и по мере роста населения мира добавляются новые города.
См. https://www.geonames.org/datasources/ для получения списка источников данных, используемых GeoNames .
npm install --save cities.json
Либо на узле , либо в браузере (с webpack
) это делается так просто:
ES5
const cities = require('cities.json');
ES6
import cities from 'cities.json';
Поскольку webpack >= v2.0.0, импорт файлов JSON будет работать по умолчанию.
Эта версия Json представляет собой массив объектов следующей формы:
[
{
"name" : "Lyon" ,
"lat" : "45.74846" ,
"lng" : "4.84671" ,
"country" : "FR" ,
"admin1" : "84" ,
"admin2" : "69"
}
// etc.
]
Эти города можно довольно легко сопоставить со странами по коду, используя следующий набор данных: https://github.com/annexare/Countries.
Названия и глубина этих подразделений (и подразделений) могут сильно различаться в разных странах, поэтому используются следующие менее выразительные названия свойств:
admin1
admin2
Например, код admin1
для города в США будет обозначать штат :
[
{
"name" : "Boston" ,
"lat" : "42.35843" ,
"lng" : "-71.05977" ,
"country" : "US" ,
"admin1" : "MA" , // Massachusetts
"admin2" : "025"
}
]
Вы можете сопоставить код admin1
с полным английским именем через файл ./admin1.json. Где code
представляет собой объединение кода country
и кода admin1
, например:
US.MA
→ Массачусетс Для ./admin2.json объедините country
, код admin1
и код admin2
:
US.MA.025
→ Округ Саффолк Эта работа доступна под лицензией Creative Commons Attribution 3.0.