【问题标题】:Search Nearby School at current location using Google maps?使用谷歌地图搜索当前位置附近的学校?
【发布时间】:2023-03-30 10:04:01
【问题描述】:

我正在尝试显示当前位置附近的学校,但我不知道如何合并它们,我制作了一个单独的程序来获取当前位置,但现在我想显示当前位置附近的附近位置。我做了一个fiddle。在这里,我们提供静态纬度和经度,我希望它们成为我当前的经度和经度位置。这样我就可以在我当前的位置上看到附近的学校

var pyrmont = {lat: -33.867, lng: 151.195};

【问题讨论】:

    标签: javascript css google-maps currentlocation


    【解决方案1】:

    请试试这个代码。

    这里你需要从脚本标签 callback=initMap 中删除回调,所以它看起来如下所示。

    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&libraries=places" async defer></script> 
    

    因为首先我们调用 getLocation() 并且在从地理位置获取值之后我们手动调用 initMap();

    var temp_lat = '';
        var temp_lng = '';
        var map;
        var infowindow;
        getLocation();
        function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        } else { 
                temp_lat = 0.0; //set default lat value
                temp_lng = 0.0; //set default lng value
        }
    }
    
    function showPosition(position) {
        temp_lat = position.coords.latitude;
        temp_lng = position.coords.longitude;
        initMap();
    }
    
    
     function initMap() 
     {
     var pyrmont = {lat: temp_lat, lng: temp_lng};
     map = new google.maps.Map(document.getElementById('map'),
     { center: pyrmont, zoom: 15 }); 
     infowindow = new google.maps.InfoWindow(); 
     var service = new google.maps.places.PlacesService(map);  service.nearbySearch(
     { location: pyrmont, radius: 500, type: ['school'] },
     callback); } 
     function callback(results, status) { 
     if (status === google.maps.places.PlacesServiceStatus.OK) 
     { 
     for (var i = 0; i < results.length; i++) 
     { createMarker(results[i]); } } } function createMarker(place) { var placeLoc = place.geometry.location; var marker = new google.maps.Marker({ map: map, position: place.geometry.location }); google.maps.event.addListener(marker, 'click', function() { infowindow.setContent(place.name); infowindow.open(map, this); }); }
    

    希望这会有所帮助。

    【讨论】:

    • 使用此代码。 navigator.geolocation.getCurrentPosition(showPosition);所以你只需要创建带有位置参数的 showPosition function() 这是谷歌地图的默认功能。
    • yar 很快 :p
    【解决方案2】:

    https://www.w3schools.com/html/html5_geolocation.asp 使用 html5 地理位置获取当前位置,它将返回 lat long,然后将其传递给 pyrmont 变量 lat 和 long

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多