(Google map javascript api) - 不会显示用户的当前位置

(Google map javascript api) - won't display user's current location

我使用第 3 个 API 来定位用户的当前位置,然后将 latlng 提供给 initMap 函数,但除了地图应该显示的灰色屏幕外,没有显示任何内容。我还检查了控制台是否有错误,但有 none。 Console.log 也 return 具有正确值的 latlng 对象。这是代码:

<script>
    var mapDiv = document.getElementById('map');
    var pos;
    $.get( "http://ip-api.com/json", function(data) {
       pos = new google.maps.LatLng(data.lat, data.lon);
    });
    function initMap() {
       var map = new google.maps.Map(mapDiv, {
         zoom: 14,
         center: pos,
         mapTypeControl: false
       });
       var marker = new google.maps.Marker({
         position: pos,
         map: map,
         draggable: false,
         animation: google.maps.Animation.DROP,
         title: 'Gotcha!'
       });
       marker.setMap(map);
    }
</script>

试试这个代码

  <script type="text/javascript">
      window.onload = function (){
        var mapDiv = document.getElementById('map');
        var pos;
        $.get( "http://ip-api.com/json", function(data) {
          pos = new google.maps.LatLng(data.lat, data.lon);
          initMap();
        });

        function initMap() {
           var map = new google.maps.Map(mapDiv, {
             zoom: 10,
             center: pos

           });
           var marker = new google.maps.Marker({
             position: pos,
             map: map,
             draggable: false,
             animation: google.maps.Animation.DROP,
             title: 'Gotcha!'
           });
        }
      }

  </script>