2017-10-17 9 views
0

지도의 웹 사이트에서 모든 사용자에게 geolocation을 표시하려고합니다. Google지도 API 문서를 통해 내 위치를 사용자로 표시 할 수있는 방법이 있습니다. 그러나 웹 사이트에 등록 된 사람들로부터 모든 지구 위치 정보를 보여주기 위해 어떻게 만들었습니까?Google지도 api를 등록 할 때 자동 등록 된 사용자에게 geolocation을 글로벌지도에 표시하려면 어떻게해야하나요?

<div id="map"></div> 
<script> 

    function initMap() { 
    var map = new google.maps.Map(document.getElementById('map'), { 
     center: {lat: -34.397, lng: 150.644}, 
     zoom: 6 
    }); 
    var infoWindow = new google.maps.InfoWindow({map: map}); 

    // Try HTML5 geolocation. 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function(position) { 
     var pos = { 
      lat: position.coords.latitude, 
      lng: position.coords.longitude 
     }; 

     infoWindow.setPosition(pos); 
     infoWindow.setContent('Location found.'); 
     map.setCenter(pos); 
     }, function() { 
     handleLocationError(true, infoWindow, map.getCenter()); 
     }); 
    } else { 
     // Browser doesn't support Geolocation 
     handleLocationError(false, infoWindow, map.getCenter()); 
    } 
    } 

    function handleLocationError(browserHasGeolocation, infoWindow, pos) { 
    infoWindow.setPosition(pos); 
    infoWindow.setContent(browserHasGeolocation ? 
          'Error: The Geolocation service failed.' : 
          'Error: Your browser doesn\'t support geolocation.'); 
    } 
</script> 
+2

안녕하세요, StackOverflow에 오신 것을 환영합니다. 적절한 질문을하고 지침에 따라 개선하는 방법은 https://stackoverflow.com/help/how-to-ask를 참조하십시오. 첫 단계로 코드에 적절한 형식과 식별자를 적용하십시오. –

+0

죄송합니다. 지금은 더 좋을 것 같네요. – Caesar

+0

그렇다면지도에 등록 된 사용자의 좌표에 마커를 추가하고 싶다고 올바르게 이해하고 있습니까? 예인 경우 : 자신의 위치 정보를 표시하는 것과 같은 방식으로 등록 된 사용자의 위도/경도 좌표로 마커를 추가하면됩니다. –

답변

0

google.maps.Marker() 유형의 개체를 만들고 그것의 setPosition 기능을 사용하여 위치를 설정하고 setMap 기능을 사용하여지도에 추가합니다.

예 (위도/LNG 독일의 중심입니다 - 사용자를 삽입 좌표가) :

var bounds=new google.maps.LatLngBounds(); 
... 
bounds.extend(marker.getPosition()); 
... 
map.fitBounds(bounds); 
:

var marker=new google.maps.Marker(); 
// use your registered user coordinates here 
marker.setPosition(new google.maps.LatLng(48.14544, 8.19208)); 
marker.setMap(map); 

은 또한 당신은 눈에 보이는 모든 마커를 얻으려면 맵 autozoom를 만들기 위해 경계를 사용할 수 있습니다