2012-03-26 2 views
1

길 찾기에 대한 새로운 요청을 발행 한 후 Google지도 API에서 데이터를 지우는 데 약간 어려움이 있습니다.새로운 요청으로 인해 이전 경로가 표시되는 Google지도

상황을 설명해 드리겠습니다. 사용자가 사이트를 방문하여 Google 위치로가는 길을 결정합니다. 사용자는 현재있는 위치를 채 웁니다. 사용자는 데이터를 정상적으로 수신하지만 문제는 그/그녀가 새 위치를 입력 할 때 이전 방향이 패널에 남아 있다는 것입니다. 나는이 코드 줄을 사용할 수 있다는 것을 알아 냈습니다.

directionsDisplay.setPanel(null); 

나는이 함께이 문제 (예 내가 JS에 새로운 오전) 내가 코드 내에서 그것을 배치 할 위치를 알아낼 수 있다는 것입니다. 여기

는 내가 지금까지 무엇을 가지고 :

내가 생각
function calculateDirections(locFrom, locTo) { 
    var directionsDisplay = new google.maps.DirectionsRenderer(); 
    var directionsService = new google.maps.DirectionsService(); 
    var mapContainer = $('#contactInfo'); 
    var mapPanel = $('#mapPanel'); 
    var request = { 
     origin: locFrom, 
     destination: 'Address 01, City', 
     travelMode: google.maps.TravelMode.DRIVING 
    }; 
    var myOptions = { 
     zoom: 15, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: locFrom 
    }; 

    directionsService.route(request, function(result, status) { 
     if(status == google.maps.DirectionsStatus.OK) { 
      // Build frame 
      var map = new google.maps.Map(document.getElementById('maps'), myOptions); 
      directionsDisplay.setPanel(document.getElementById("mapPanel")); 
      directionsDisplay.setDirections(result); 
      directionsDisplay.setMap(map); 
      $('#contactInfo').css('top', '30px'); 
      $('#contactInfo').css('padding-bottom', '15px'); 
     } 
     else { 
      alert('Could not calculate route'); 
     } 
    }); 
} 

, 나는 directionsDisplay.setPanel (NULL)로 시작하는 것입니다; 그 후 데이터를로드하면 각 반복에서 데이터 지우기가 시작됩니다. 그러나 나는이 임무에 머리를 쓰고있다. 도움을 많이 주시면 감사하겠습니다.

편집 : 공식적으로

, 응용 프로그램이 한 고정 점 (우리의 사업의 위치)가 있고 locFrom는 사용자의 위치 (이것은 어디서든 할 수 있습니다)입니다.

편집 :

<div id="maps"></div> 
    <div id="menu"> 
    <div class="contentWrapperLeft"></div> 
    <div id="contactInfoRoute"> 
     <h2>Route</h2>   
       <input type="text" name="street" id="street" rel="Straat"> 
     <input type="text" name="place" id="place" rel="Plaats"> 
     <input type="button" name="submit" id="submit" value="Route"> 
    </div> 

     <div id="contactInfo"> 
      <div id="mapPanel"></div> 
      <p>Address 01 <br /> City, Country</p> 
     </div> 
    </div> 

답변

1

다음과 같이 내가 생각 해낸 해결책은 다음과 같습니다

mapPanel.html(''); 

내가이 줄을 넣어 : 요청이 은 다음과 같이 만들어지기 전에 내가 무슨 짓을

빈 mapPanel의 사업부를 작성했다 변수 'map'보다 높게 설정하면 문제없이 작동합니다.

0

나는 locFrom은 당신이 버튼을 클릭하면 사용자가 새 값을 전송하지 것 같아 문제라고 생각합니다 : 여기

는 마크 업인가? 조치 후 업데이트되는지 확인하기 위해 locfrom을 잡으려고합니까? 일반적으로 apiis는 무거운 수정없이 잘 돌아갑니다.

관련 문제