城市名称/邮政编码(包括长期坐标)的自动提示网络服务?

时间:2011-08-31 09:21:51

标签: web-services autocomplete geolocation

我正在寻找一个用于自动填充字段的网络服务, 人们可以填写邮政编码/城市名称或两者

此服务需要欧洲所有城市,因此我们可以将其用于所有国家/地区的网站。 在后来的体育场内,我们希望保持世界对亚洲和美国的开放,所以这将是一个加分。

最好还会返回位置的长拉线坐标

现在它是一个免费的文本字段,离开现场后,我们点击谷歌地理编码服务, 找到坐标...最好我将这两者结合在一起。 所以我们不必为一件事情查询2项服务。

有人知道某个地方存在此类服务的存在吗? 或者你会建议用城市/邮政编码/坐标建立我们自己的数据库? 如果是这样我们也需要从某个地方获取内容,我试图避免这个问题:)

2 个答案:

答案 0 :(得分:4)

我最近搜索了类似的服务,徒劳无功。

我希望我的用户在输入城市名称时自动完成,一旦选择了城市,我需要将名称和lat / long传递给Google API。最后我这样做了: -

  1. 下载了geonames allcountries.zip,完全提取:this
  2. 通过SSIS将其导入SQL DB(约750万条记录!)
  3. 写了一个简单的查询来提取城市(只有PPLC,PPLA和PPLA2记录)。
  4. 这给我留下了一张可管理的9112条记录表(包括纬度/长度和国家代码),涵盖了世界上所有城市。然后我编写了自己的代码来查询数据。

    不理想,但我需要一个解决方案。

答案 1 :(得分:1)

我知道这篇文章很老但是对于那些正在寻找一个可以在5分钟内集成的简单解决方案的人来说,这里是链接: Geocomplete jQuery...

对于我的情况,我按照以下步骤操作:

1 - 从here下载插件。

2 - 将jquery.geocomplete.js或jquery.geocomplete.min.js文件添加到项目的javascript文件夹中。

3 - 在html页面上的脚本标签中调用此文件,您将拥有必须使用城市自动填充的输入字段: SELECT t.imei,t.time,t.phone_model,t.test_unique_id FROM verveba_mos.csv_data_table t JOIN(SELECT s.imei,MAX(time) as max_t FROM csv_data_table s GROUP BY s.imei) p ON(t.imei= p.imei and t.time = p.max_t)

4 - 要将输入转换为自动填充字段,只需在脚本代码中调用Geocomplete插件:<script src='/PathToTheFile/jquery.geocomplete.js'></script>

5-您可以在顶部提供的链接上查看完整的选项列表。

希望这有帮助!