当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在没有用户安装Google Gears的情况下获取用户位置?

如何解决《有没有办法在没有用户安装GoogleGears的情况下获取用户位置?》经验,为你挑选了3个好方法。

我不想让用户安装Google Gears,这样我就可以向他展示他猜测的位置.有没有办法在不使用Google Gears的情况下获取位置?

我找到了http://www.wipmania.com/de/blog/google-geolocation-api/,但它没有提供示例.



1> aemkei..:

Google提供了一种通过AJAX API加载器获取用户位置的方法.如果没有安装Gears,这甚至可以工作.只需包含指向JsAPI的脚本标记:


当应用程序使用AJAX API加载程序时,加载程序会尝试根据客户端的IP地址对客户端进行地理定位.如果此过程成功,则在google.loader.ClientLocation属性中提供作用于地铁级别的客户端位置.如果进程未能找到匹配项,则此属性设置为null.

if (google.loader.ClientLocation){
  var center = new google.maps.LatLng(
    google.loader.ClientLocation.latitude,
    google.loader.ClientLocation.longitude
  );
  map.setCenter(center);
}

填充后,将使用以下城域级粒度属性填充google.loader.ClientLocation对象:

ClientLocation.latitude - 提供与客户端IP地址关联的低分辨率纬度

ClientLocation.longitude - 提供与客户端IP地址关联的低分辨率经度

ClientLocation.address.city - 提供与客户端IP地址关联的城市名称

ClientLocation.address.country - 提供与客户端IP地址关联的国家/地区的名称

ClientLocation.address.country_code - 提供与客户端IP地址关联的ISO 3166-1国家/地区代码的名称

ClientLocation.address.region - 提供与客户端IP地址关联的国家/地区特定区域名称



2> Stefan Mai..:

这通常称为IP地理定位.

一个例子是在这里.

问题是,大多数网站(如果您打算将其称为网络服务)将向您收取费用.否则,将抓取地理位置页面的Web服务放在一起,解析该地址,然后返回该信息.

在PHP中,这似乎工作得很好:

]*>/","",$location_raw);
     return $location;
   }else{
     return "ERROR";
   }
 }



3> Joseph Ferri..:

使用地理定位服务或库需要注意的一点是,它们永远不会100%准确.我们使用一个IP2Location,它实际上是我们客户服务部门的稳定投诉来源.我们正在寻找改变网站行为的方法,并权衡完全删除网站的因素.

问题在于将IP与用户相关联的负担与用户ISP相关.它们具有大块IP范围,并且它们注册哪些块属于特定位置.问题是ISP在移位块或块覆盖太大的区域时通常不会更新此信息.

例如,我居住在曼哈顿以北约60英里处,但我的IP通常表明我在芝加哥拥有大多数查找工具.我有FIOS,并与其他几个已经确认相同行为的人交谈过.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有