2011-10-08 5 views
0

나는 두 교차로 사이의 거리의 한 부분을 강조 할 필요가있다. 나는 등 구글, 빙, 자신의 API를 통해 거리 데이터를 제공하지 않는 것을 말한다 년 이상 전에 질문을 받았다 비슷한 질문 (here 참조)을 발견했다. 아무도 API에서 변경된 사항이 있는지, 내가 어디에서든지 거리 위치 위도/경도 데이터를 가져올 수 있는지 여부를 아는 사람이 있습니까?거리의 일부를 강조 표시 할 수 있습니까?

답변

0

나는 API의 V2에 이런 짓을했는지,하지만 V3 위해 다시 작성하기 어려운로해서는 안됩니다.

는 (독일어)이 웹 사이트 http://www.fvs.de/anfahrt.php에서 살펴보고지도 아래 섹션에서 ("지도에서 표시 방법을")가 "WEG Karte에 zeigen" 버튼을 클릭합니다. 각 버튼은지도의 다른 거리 선을 강조 표시합니다.

그것은 기본적으로지도 (예를 들어, 당신이 개 교차로)에서 임의의 두 거리의 사이에 경로를 그릴 Google지도의 방향 객체를 사용하여 수행됩니다. 포인트는 LatLng 좌표로 인코딩되어야합니다. 다음은 코드 예입니다 (API V2라고 함).

function initMap() { // called by page onload event 
    if (GBrowserIsCompatible()) { 
    // Display the map, with some controls and set the initial location 
    gMap = new GMap2(document.getElementById("map_canvas")); 
    gMap.addControl(new GLargeMapControl()); 
    // ... 
    gMap.setCenter(GLatLng(49.238326, 6.977761), 15); 

    // init directions object and attach listener to handle route loads from function highliteRoute() 
    gDir = new GDirections(); 
    gPoly = null; 
    GEvent.addListener(gDir, 'load', function(){ 
     gPoly = gDir.getPolyline(); 
     gMap.addOverlay(gPoly); 

     // zoom & pan to poly   
     var polyBds = gPoly.getBounds(); 
     var polyZoom = gMap.getBoundsZoomLevel(polyBds); 
     gMap.setZoom(polyZoom); 
     gMap.panTo(polyBds.getCenter()); 
    }); 
    } 
} 

function highliteRoute(){ 
    if(gPoly!=null) gPoly.hide(); 
    gDir.load('from: 49.313530,6.969109 to: 49.238326,6.977761', {getPolyline:true}); 
} 
+0

cool. 감사. 한 교차로에서 다른 교차로까지 도보 길 찾기를 고려하고 있었지만 강조하고 싶은 거리를 사용하는 경로를 반환하는 것은 아닙니다. 거리 좌표를 찾기 위해 Open Street Maps 데이터를 사용해야 할 것입니다. – akonsu

+0

나는 또한 계산 된 길 찾기가 내가 강조하고 싶은 거리와 항상 일치하지 않는 문제에 직면했다. 'gDir.load ('보낸 사람 : : 49.313530,6.969109에 : 49.282163,7.010651로 거리 (들)을 사용하는 결과를 강제로 검색 문자열에 지점이 쉽게 "에"추가 중간체를 추가하여 해결할 수 있습니다 : 49.238326,6.977761 ', {getPolyline : TRUE});' – Jpsy

+0

아, 그리고 좌표 거리를 찾을 수 있습니다 : 구글지도 실험실에서 "LatLng 아이콘"사용 열기 Google지도를, 오른쪽 상단 모서리에있는 작은 기어 아이콘을 클릭합니다 '지도 실험실'을 선택합니다. 'LatLng Marker'로 스크롤 한 다음 사용 설정하고 저장합니다. 지도에서 다시 좌표를 찾을 위치를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 'LatLng 마커 놓기'를 선택하십시오. 표시되는 마커에서 좌표 값을 복사 할 수도 있습니다. 좌표 텍스트를 빠르게 세 번 클릭하여 복사하고 붙여 넣습니다. – Jpsy

관련 문제