0

我正在将jquery.geocomplete.js用于移动网站 - 我希望它加载显示用户在地图上的当前位置。唯一的默认位置选项似乎是一组固定坐标或国家名称。是否可以展示如何在地理位置代码中实现这一点?这是我目前拥有的:

$(function(){
        var options = {
          map: ".map_canvas",              
          location: [-35.3075, 149.124417],
          mapOptions: {
            zoom: 3
          },
          zoom: 1,
          types: ['establishment'],              
          country: 'au'              
        };

        $("#geocomplete").geocomplete(options).val(); 

    });

谢谢你的帮助。

4

1 回答 1

2

为此,您需要访问导航器对象的地理位置

if(navigator.geolocation){
    /*
     * getCurrentPosition() takes a function as a callback argument
     * The callback takes the position object returned as an argument
     */
    navigator.geolocation.getCurrentPosition(function(position){
        /**
         * pos will contain the latlng object
         * This must be passed into the setCenter instead of two float values
         */
        var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);  //
        map.setCenter(pos); //center the map based on users location
    }, function(){
        //client supports navigator object, but does not share their geolocation
    });
}else{
    //client doesn't support the navigator object
}

当然,上面的代码必须在你实例化地图实例之后出现。

您可以在此处阅读有关 Google Maps API 地理定位的文档

您还可以在此处查看全屏示例

最后。这是一个实现这个的jsFiddle

于 2013-08-06T23:57:51.323 回答