如何在不征求许可的情况下使用 Google 查找当前位置

How to use Google to find current location, without asking for permission

我刚刚使用 'get current location' 进行了 Google 搜索,我得到了这个结果:

它没有询问我的位置,所以我猜它是基于 IP 位置,或者可能是来自我的网络的几个信息的交叉引用(记录 Google 帐户、移动设备等).

有没有一种方法可以使用 Google 地图 API 或任何相关的 Google 服务来获取此信息,而无需在浏览器上请求用户的许可,获取他们的位置?

谢谢

它不是 Maps-API 的一部分,但您可以使用 JSAPI(例如通过 JSAPI 加载 Maps-API) .

虽然官方已经不支持了,但是还是有(但不能设置)一个属性 google.loader.ClientLocation

  google.load("maps", "3",{callback:function() {
        try{
          opts={
                center:new google.maps.LatLng( google.loader.ClientLocation.latitude,
                                               google.loader.ClientLocation.longitude),
                zoom:8
               };
        }catch(e){alert('no location available');
          opts={
                center: new google.maps.LatLng(0,0),
                zoom: 0
               };
        }
        var map = new google.maps.Map(document.getElementById("map-canvas"),
            opts);
      }
      });
html,body,#map-canvas { height: 100%; margin: 0; padding: 0 }
<div id="map-canvas"></div>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>

当然,它的准确度与基于 IP 的地理定位可能一样...不多