Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用google地理定位api进行地理定位_Php_Javascript_Jquery_Google Maps Api 3 - Fatal编程技术网

Php 使用google地理定位api进行地理定位

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) {

所以,我有这个网站,我需要定位的位置,访问者

我在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) {
  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的地理定位,你需要另一种服务(谷歌不提供这种服务)。例如,检查。注意,还有很多其他的。