如何使用Google查找当前位置,而无需征得许可

时间:2016-02-25 17:29:58

标签: google-maps google-maps-api-3 geolocation geocoding

我刚刚使用以下方式进行Google搜索:'获取当前位置',我得到了这个结果:

enter image description here

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

有没有办法使用Google Maps API或任何相关的Google服务来获取这些信息,而无需询问用户对浏览器的许可,以获取其位置?

谢谢

1 个答案:

答案 0 :(得分:0)

它不是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>
&#13;
&#13;
&#13;

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