jQuery和/或PHP位置查找器:邮编和城市/州

3
我想自动填充表单输入文本区域与用户所在的城市和州。我还需要将邮政编码传递给表单。我不需要地图。
有什么建议吗?(我更喜欢使用jQuery和/或PHP。)
更新 - 我发现了这个小js,可以获取城市、州、纬度、经度、区号等信息... 但它没有获取到邮政编码。可能是因为许多城市有多个邮政编码。但我只需要从城市中获取一个邮政编码... 不管是哪一个,因为我正在获取50英里半径内的数据。那么有没有办法根据它返回的数据从位置中找到一个邮政编码来修改下面的脚本呢?
<html>
<head>
    <script language="JavaScript" src="http://www.geoplugin.net/javascript.gp" type="text/javascript"></script>
</head>
<body>
    <script language="Javascript"> 
document.write("Welcome to our visitors from "+geoplugin_city()+", "+geoplugin_region()+", Area code = "+geoplugin_areaCode()+", Latitude = "+geoplugin_latitude()+geoplugin_areaCode()+", Longitude = "+geoplugin_longitude()); 
    </script>
</body>
</html>

来源:GeoPlugin
3个回答

1

您可以使用GeoLite City将用户的IP地址转换为城市、州和邮编。


你了解geoplugin吗?如何从区域代码中获取邮政编码? - Jeffrey

0

没有服务器端代码是不可能做到这一点的,考虑到潜在的安全风险,这是显而易见的。然而,您可以向某些服务器端脚本发出请求,并让它解析用户的IP,但是有一些注意事项-1)城市/州是您可以获得的全部内容,2)用户可能正在使用代理,而且IP有时不准确。

还有HTML5 Geolocation API:http://html5demos.com/geo


页面已经由PHP驱动,因此服务器端脚本是可以的。此外,我不太担心代理或脚本失败,因为用户总是可以手动输入城市名称。 - Jeffrey
上面的链接无法无缝工作。我在Firefox中收到一条消息,htm5demos想知道您的位置。您不想提示用户这些问题。 - vsingh

0

有两种方法可以实现这个。

1)使用基于IP的php库进行服务器端地理位置定位(仅在ISP正确输入IP的地理数据时有效),并将数据插入任何您想要的位置

2)使用Google地图的地理编码服务动态检索所需信息。

p.s. 我最喜欢的方式是#2,它提供更多的灵活性。


我更新了帖子。你知道如何从纬度/经度或区号获取zip文件吗? - Jeffrey

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