Php 地理定位的最佳方法是什么?

Php 地理定位的最佳方法是什么?,php,geolocation,Php,Geolocation,最近,地理定位在技术上非常流行。通过IP,手机发射塔,GPS,使用浏览器插件,HTML5?,移动设备 因为我要在我们的网站上添加一些地理定位功能,我想知道什么是最好的方法。是否有一些API混合使用了所有这些技术?或者至少,你会推荐我使用什么API/服务 我正在使用的服务不需要100%准确,所以我可以使用geo IP,但是如果有一种简单的方法可以做得更好,为什么不呢 使用的技术有php、javascript、ajax和java。GEO IP可能是目前最好的方法 HTML5看起来很有希望,但要得到广

最近,地理定位在技术上非常流行。通过IP,手机发射塔,GPS,使用浏览器插件,HTML5?,移动设备

因为我要在我们的网站上添加一些地理定位功能,我想知道什么是最好的方法。是否有一些API混合使用了所有这些技术?或者至少,你会推荐我使用什么API/服务

我正在使用的服务不需要100%准确,所以我可以使用geo IP,但是如果有一种简单的方法可以做得更好,为什么不呢


使用的技术有php、javascript、ajax和java。

GEO IP可能是目前最好的方法

HTML5看起来很有希望,但要得到广泛支持还需要一段时间。即使这样,它也需要明确的用户批准,这限制了使用它的可能性(例如,自动重定向到特定国家/地区的网站版本)

首先尝试免费(www.hostip.info for website)


它将以xml结构提供城市和国家。我在http服务器上用PHP编写了一个小的代理脚本,html页面使用ajax调用该脚本,并使用Google地理编码api在文本和Google地图上显示信息。稍后,您可以轻松地用其他api替换api.hostip.info。

无论您做什么,请不要根据用户的IP设置网站的语言,然后使其几乎不可能更改,除非您知道所述语言,并且您觉得浪费时间(如易趣和贝宝等)。使用浏览器的语言

比方说,在法国,不是每个人都会说或想说法语


我想这与你的问题不太相关,但我觉得有必要对此大发雷霆,对不起:)

默认情况下,我会使用IP地址检测,然后选择使用Javascript/HTML5
navigator.geolocation
API(如果有)来询问更具体的位置。(例如,在iPhone Safari中)


大多数用户仍在使用自己不知道位置的设备,因此可用的插件不会比IP地址检测获得更好的位置。(或者,他们会提示用户手动输入数据,这很烦人)

Max Mind很好。但是,如果你正在寻找一个免费的解决方案,你可能想考虑使用JavaScript地理编码器。最终,它们将支持地址和国家,但现在,它们只提供纬度和经度。

确实不相关,但无论如何还是要感谢您。是的,我知道当我旅行时,我也会觉得很烦人,而且总是用错误的语言。为了澄清这一点,我将其用于一个注册脚本,在该脚本中,用户可以建议一个地理位置,他们可以通过在某个地方键入或在谷歌地图上选择来更改。然后存储lat和lon。我刚刚尝试使用我当前的IP。“地点:……实际上我们一点线索都没有。”。我只是运气不好,还是他们的数据库很小?它是基于社区的,所以准确度可能不高。我的用户可以输入他们的位置,所以我不知道服务失败的频率。你可能会考虑一些商业地理数据库。我决定选择www.GeoPlugin.com。听说过吗?没有,但我刚查过,它在返回数据中似乎提供了更多类似lat-lon的功能。它还提供不同的Web服务。