2012-09-08 3 views
0

에 사용되는? 기본적으로 나는 다른 위치에서 다시 사용할 수 있도록 현재 위치의 값을 가져올 수 있도록 노력하고 있습니다. 이 물건에 아주 새롭다. .. 사전에 고마워한다. initialize 때문에누군가가 나에게 설명 할 다른 기능

var map; 
var infowindow; 
var currentPos = { 
}; 
var city = new google.maps.LatLng(60, -105); 

function initialize() { 
    map = new google.maps.Map(document.getElementById('map_canvas'), { 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: city, 
     zoom: 13 
    }); 

    if(navigator.geolocation) { 
     browserSupportFlag = true; 
     navigator.geolocation.getCurrentPosition(
      function(position) { 
       pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
       map.setCenter(pos); 
       currentPos.LatLng = pos; 
       console.log(currentPos.LatLng); 
      }, 
      function() { 
       handleNoGeolocation(true); 
      } 
     );   
    } else { 
     handleNoGeolocation(false); 
    } 
    function handleNoGeolocation(errorFlag) { 
     if (errorFlag) { 
      var content = 'Error: The Geolocation service failed.'; 
     } else { 
      var content = 'Error: Your browser doesn\'t support geolocation.'; 
     } 
    } 
    var request = { 
       location: city, 
       radius: 2500, 
       types: ['store'] 
      }; 

    infowindow = new google.maps.InfoWindow(); 
    var service = new google.maps.places.PlacesService(map); 
    service.search(request, 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); 
     }); 
    } 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
console.log(currentPos.LatLng); 
+1

시도 : 'google.maps.event.addDomListener (창 '로드', 초기화); google.maps.event.addDomListener (window, 'load', function logLatLng() {console.log (currentPos.LatLng);});' –

답변

2

아직 당신이 그것을 로그온을 시도하는 시간으로 마무리/호출되지 않았습니다.

당신이 실제로 할당하려고하는 것 (또는 그것이 채워지면 currentPos에 액세스 할 다른 기능에 대한 호출)을 콜백 내부/사용자가 지정한 곳 이후로 이동하고자 할 것입니다.

관련 문제