2012-12-25 2 views
1

Google지도 API v3 및 jquery mobile을 사용하고 있습니다. tab1에 경로가있는지도가 표시되고 tab2에 경로 세부 정보 (setPanel)가 표시된 페이지가 있습니다. 응답을 위해 setDirections를 호출하면 모든 것이 잘 작동합니다. 지도가 중앙에 오르고 확대/축소도 정확합니다. 세부 정보로 이동하여 대체 경로를 선택하고 tab1을 눌러지도로 돌아가 새로운 경로를 확인하면 확대가 해제됩니다. 왜 이런 일이 생길까요? 작동하도록하기 위해 뭔가를 할 수 있습니까?대체 경로 선택 축소

+0

코드 http://jsfiddle.net/bujar/LaYQJ/10/ 1.press 버튼 2.지도보기 3. 경로 4. 두 번째 경로를 선택 (5) 언론지도 확대/축소 아웃 – alkis

+0

당신은 자신의 경로 HTML을 구문 분석하려는 경우 방향 결과에서 클릭 핸들러에 대한 자신의'panTo' 코드를 만들 수 있습니다. 경로의 각 지점에는 결과에 제공된 위도/경도가 있습니다. – charlietfl

+0

예. 알고 있습니다. 그러나 일을하고 이미 제공되는 기능을 유지하는 쉬운 방법이 있는지 알고 싶습니다. 답변 주셔서 감사합니다. – alkis

답변

1

지도가 표시되지 않은 상태에서 길 찾기가 변경되면 길 찾기가 잘못되어 크기가 잘못 표시됩니다. 숨겨진 크기는 API에 0으로보고됩니다. 표시된 후에 "resize" event on the map을 트리거해야합니다. 문서에서

:

크기 조정 - 사업부의 크기가 변경 될 때 개발자가지도에이 이벤트를 트리거해야합니다 google.maps.event.trigger (지도 '크기 조정').

업데이트 : 지도가 숨겨져 있고 경계가 설정되지 않은 경우 directions_changed 이벤트가 실행되지 않는 것처럼 보입니다. 지도가 표시 될 때 경계를 수동으로 설정하면 효과가있는 것 같습니다.

function refresh(map) { 
    google.maps.event.trigger(map, 'resize'); 
    var routeIndex = globVars.directionsDisplay.getRouteIndex(); 
    var routes = globVars.directionsDisplay.getDirections().routes; 
    globVars.map.fitBounds(routes[routeIndex].bounds);  
    alert('resize');      
} 

jsfiddle

+0

크기가 0 인 경우를 생각했지만 확신 할 수 없었습니다. resize 이벤트를 트리거합니다 (새로 고침을 참조하십시오). 크기 조정이 실행될 때 경고를 추가했습니다. http://jsfiddle.net/bujar/LaYQJ/. 내가 누락 된 것이 있거나 수동으로해야하는 것이 있습니까? – alkis

+0

다시 한번 감사드립니다. 내가 너무 탐욕스럽지 않다면 내 게시물의 두 번째 부분에 대한 통찰력을 얻을 수 있습니까? 가능한 경우 답변을 선택하고 주제를 닫으려면 게시물을 업데이트하십시오 (또는 새 주제를 만드는 것이 더 낫습니까?). – alkis

+1

기존 형식의 서식을 변경하는 유일한 방법은 사이드 바를 직접 작성하는 것입니다 (이미 답변 한 것처럼). 이를 수행하는 방법에 대한 다른 옵션이나 아이디어에 대한 새로운 주제를 만드는 것이 좋습니다. – geocodezip