免费国家/城市建议列表/数据库

4
我正在寻找类似于Facebook建议列表的东西,其中包括城市和国家。当您尝试在Facebook中创建新事件时,单击添加地址,然后在城市字段中开始输入,您可以看到我确切所说的内容。
我更喜欢在jQuery中找到带有日期的有效建议工具,但带有城市/国家的数据库也可以解决问题。
6个回答

5

2
是的,我认为这是最好的选择。他们有非常好的存档。下载列表在这里:http://download.geonames.org/export/dump/。 - kuzey beytar

4

这是数据库链接:http://geolite.maxmind.com/download/worldcities/

这是一个与jQuery工具很容易结合的数据库,可以使用其中一个“自动完成”插件。这肯定比自己研究和构建数据库要容易得多 :-)


非常感谢Pointy,这正是我在寻找的东西。“Region”是什么意思? - Ilian Iliev
看起来“region”取决于所在的国家;在美国,它是“state”。在其他国家,它似乎可能是邮政编码。 - Pointy
1
如果其他人下载了这个转储文件,请小心,因为它包含有不同拼写的重复城市。 - Ilian Iliev
那个数据库文件相当大,大约有100 MB。你真的要将它倒入你的数据库吗? - spotlightsnap
抱歉回复晚了,但是是的,我确实使用了大型转储(dump)。 - Ilian Iliev
确实。我认为这仍然值得强调 ;) - J0ANMM

2
Freebase Suggest是一个jQuery插件,可以针对其设置的任何类别进行自动完成。你可以轻松地将其限制在国家("type": ["/location/country"])或城市,并为用户提供漂亮的UI以验证他们是否谈论正确的位置。
这样,你就不必管理数据库、保持其更新、构建自己的UI等等。

0

您可以从这里使用Microsoft SQL / Mysql格式的城市/国家数据库 -

http://myip.ms/info/cities_sql_database/World_Cities_SQL_Mysql_Database.html

城市/国家表结构如下:

CREATE TABLE cities (
  cityID int NOT NULL,
  cityName varchar(50) NOT NULL,
  stateID int NOT NULL,
  countryID varchar(3) NOT NULL,
  latitude float NOT NULL,
  longitude float NOT NULL,
  PRIMARY KEY (cityID),
  UNIQUE (countryID,stateID,cityID)
);

CREATE TABLE countries (
  countryID varchar(3) NOT NULL,
  countryName varchar(52) NOT NULL,
  localName varchar(45) NOT NULL,
  webCode varchar(2) NOT NULL,
  region varchar(26) NOT NULL,
  continent varchar(15) NOT NULL,
  latitude float NOT NULL,
  longitude float NOT NULL,
  surfaceArea float NOT NULL,
  population int NOT NULL,
  PRIMARY KEY (countryID),
  UNIQUE (webCode),
  UNIQUE (countryName)
);

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接