2012-07-02 4 views
0

Geolocation이 성공적 (성공)이면 함수 내에서 줌 레벨을 어떻게 조정할 수 있습니까?Geolocation이 성공적이면 줌 레벨을 조정 하시겠습니까?

function createMap(lat, lng) { 
var mapOptions = { center: new google.maps.LatLng(lat, lng), 
    zoom: 12, 
    scrollwheel: false, 
    mapTypeId: google.maps.MapTypeId.ROADMAP }; 
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

function initialize() { 
if(navigator.geolocation) { 
    success = function(position) { 
    createMap(position.coords.latitude, position.coords.longitude); 
    }; 
    error = function() { createMap(99.648493, -99.410812); } 

    navigator.geolocation.getCurrentPosition(success, error); 
} 
} 
+0

당신이 전화 줌 레벨을 createmap 하나 개 더 인수를 전달할 수 있기를 바랍니다. 성공하면 하나의 줌 레벨과 다른 오류 레벨은 다른 줌 레벨입니다. – Unknown

+0

지도 변수가 전역 변수 인 경우 createMap 뒤에 map.setZoom을 호출 할 수도 있습니다. – slawekwin

+0

코드 목록에'createMap' 정의를 추가하면 누군가가 @ Matrix의 주석 행을 따라 뭔가를 제안 할 것입니다. –

답변

2

위치 정보를 기반으로 줌 레벨을 변경하려면 다음 코드를 확인하십시오 :

function createMap(lat, lng, zoomVal) { 
var mapOptions = { center: new google.maps.LatLng(lat, lng),  
zoom: zoomVal, 
scrollwheel: false, 
mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 
function initialize() { 
if(navigator.geolocation) { 
success = function(position) {  
createMap(position.coords.latitude, position.coords.longitude,15); 
}; 
error = function() { 
createMap(99.648493, -99.410812,12); 
}  
navigator.geolocation.getCurrentPosition(success, error); 
} 
} 
+0

감사 매트릭스, 매력처럼 작동합니다. –

+0

@BeRightBacon 나는 그것이 행복해 졌어. :) – Unknown

관련 문제