动态获取当前的LatLng(Google Map)

时间:2015-05-21 08:55:20

标签: javascript html geolocation

我在下面有以下代码:

 <!DOCTYPE html>
 <head>
    <title>Geolocation Service</title>
    <script src="http://maps.googleapis.com/maps/api/js"></script>
    <script>
        function initialize() {
            var lat = ???;
            var lng = ???;
            var map = {
                center:new google.maps.LatLng(lat,lng),
                zoom:5,
                mapTypeId:google.maps.MapTypeId.ROADMAP
            };
            var map=new google.maps.Map(document.getElementById("mapcontainer"), map);
        }
        google.maps.event.addDomListener(window, 'load', initialize);
    </script>
</head>
<body>
    <div id="mapcontainer">
        <!--Map goes here-->
    </div>
</body>
<style>
   *
    {
        margin: 0;
    }

    #mapcontainer
    {
        width: 100vw;
        height: 100vh;
    }
</style>
</html>

在我的变量latlng中,我将它们设置为???,因为我不知道如何获得我当前的位置。我刚开始学习Google Geolocation API。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用Google Loader加载Google地图,则可以使用google.loader.CurrentLocation获取基于IP的位置,如this answer

中所示

另一种选择是利用HTML5 GeoLocation API

function initialize() {

   // Is HTML5 geolocation supported
   if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function(position){

         var lat = position.coords.latitude;
         var lng = position.coords.longitude;
         //..

      });
   } 

}            

您可能会发现Google Maps JavaScript API - Geolocation示例有用。