Php 使用google地理定位api进行地理定位
所以,我有这个网站,我需要定位的位置,访问者 我在google代码中看到了以下代码:Php 使用google地理定位api进行地理定位,php,javascript,jquery,google-maps-api-3,Php,Javascript,Jquery,Google Maps Api 3,所以,我有这个网站,我需要定位的位置,访问者 我在google代码中看到了以下代码: <script type="text/javascript" src="gears_init.js"></script> <script type="text/javascript"> var geo = google.gears.factory.create('beta.geolocation'); function updatePosition(position) {
<script type="text/javascript" src="gears_init.js"></script>
<script type="text/javascript">
var geo = google.gears.factory.create('beta.geolocation');
function updatePosition(position) {
alert('Current lat/lon is: ' + position.latitude + ',' + position.longitude);
}
function handleError(positionError) {
alert('Attempt to get location failed: ' + positionError.message);
}
geo.getCurrentPosition(updatePosition, handleError);
</script>
var geo=google.gears.factory.create('beta.geolocation');
函数更新位置(位置){
警报('当前纬度/经度为:'+位置.纬度+','+位置.经度);
}
功能手柄错误(位置错误){
警报('尝试获取位置失败:'+positionError.message);
}
geo.getCurrentPosition(更新位置,handleError);
这似乎正是我所需要的,但我必须知道访客是在X城附近还是在Y城附近
有什么方法可以做到这一点吗?找到用户的位置后,需要进行反向地理定位(请参阅)。然后,您可以使用返回结果的“城市”字段查看google将该用户放置在何处。
如果您愿意接受建议,您还可以通过HTML5的navigator.geolocation对象实现访问者的地理定位,并使用此对象,您还可以为使用其他未安装google gears浏览器的访问者提供服务。一旦您为访问者获取了经纬度对,以查找他们最接近的城市,您可能希望结合所有城市的lat long搜索haversine距离。您可以从geonames中找到大多数城市的lat long信息:关于haversine distance的更多信息在这里:HTML5的问题是,弹出一个允许用户进行地理定位的请求,如果用户不同意提供其当前位置,这将破坏地理定位的目的。那些有时显示我的城市或我附近的城市的横幅是怎样的?是IP定位吗?我想google gears也会要求用户的许可(这是非常具有侵略性的,它没有)。如果你想要基于ip的地理定位,你需要另一种服务(谷歌不提供这种服务)。例如,检查。注意,还有很多其他的。