هذه المدن تأتي من GeoNames Gazetteer.
جميع المدن التي يزيد عدد سكانها عن 1000 أو مقاعد Adm div (حوالي 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.