2012-05-23 2 views
0

GPS를 사용하여 위치를 가져오고지도의 중심을 수정하는 데 경도와 위도를 사용하는 기능을 사용하고 싶습니다. 여기 GPS 좌표를 사용하여지도의 중심 수정

내 코드의 일부이다 :

var lat; 
var longi; 

function initialize() { 

    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(onGeoSuccess, onGeoError, { 
      maximumAge: 3000, 
      enableHighAccuracy: true 
     }); 

     function onGeoSuccess(event) { 
      lat = event.coords.latitude; 
      longi = event.coords.longitude; 
      alert(lat + ', ' + longi); 
     } 

     function onGeoError(event) { 
      lat = 50; 
      longi = 150; 
     } 
    } else { 
     lat = 50; 
     longi = 150; 
    }; 

    var array; 
    var map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 10, 
     center: new google.maps.LatLng(lat, longi), 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     disableDefaultUI: true, 
     zoomControl: true 
    }); 
} 

문제는 다음과 같습니다 경고가 괜찮습니다, 그것은 실제 위도와 경도를 표시하지만 표시되지 않는지도는 단지 작은 물음표를 제공합니다.

도움이 필요합니다.

var lat, longi, map; 

그런 onGeoSuccess 방법에 setCenter 메서드 호출 추가 : 모든

전나무가 높은 변수 map 이동 :

function onGeoSuccess(event){ 
    lat=event.coords.latitude; 
    longi=event.coords.longitude; 
    map.setCenter(new google.maps.LatLng(lat, longi)); 
} 

그리고 할

답변

3

대신 를 사용하여 map.setCenter(lat,longi);

try :

map.set('center', new google.maps.LatLng(lat, longi));

2

당신은 onGeoSuccess 방법으로지도의 중심합니다 그게 당신이 lat, longi 값을 변경, onGeoError 방법에 t 너.

은 또한 lat, longi에 대한 몇 가지 기본 값을 사용하는 것이 좋습니다 :

var lat = 50, 
    longi = 150, 
    map; 

그리고 위지도 초기화 이동 (제거하는 것을 잊지 마세요 var 문 라인 map = new google.maps.Map 전) :

function initialize() { 

    var array; 
    map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 10, 
     center: new google.maps.LatLng(lat, longi), 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     disableDefaultUI: true, 
     zoomControl: true 
    }); 
// rest of your code 
관련 문제