2011-09-26 3 views
2

Google지도에서 2 점 사이의 경로를 끝점에 핀으로 표시하고 싶습니다. 이를 통해 사용자는 자동차, 사이클, 도보 등의 모든 주행 경로를 선택할 수 있습니다. "2 마일 전방, 다음 거리에서 좌회전"과 같은 라우팅 정보를 보여줘야하고 추정 된 time.so와 관련하여 인터넷에서 많은 자습서를 발견했습니다. 내가 찾은 최고입니다 매우 복잡하고 느린안드로이드 Google지도 경로 2 점

http://code.google.com/p/j2memaprouteprovider/source/browse/#svn/trunk/J2MEMapRouteAndroidEx

.

http://www.anddev.org/google_driving_directions_-_mapview_overlayed-t826.html

이 하나가 일부 기능을 제외하고, 내가 원하는 것과 매우 유사합니다

다음 나는이 하나 발견했다. 하지만 구식입니다.

또한 KML을 사용해야한다는 사실을 알았습니다. 하지만 복잡성 때문에 KML을 사용하는 것이 필요합니까? 이 작업을 수행하는 더 좋은 방법이 있습니까? 내가 코드의 덩어리를보고 혼란 스러울 때 나는 전체 소스 코드를 가질 수 있을까? 많은 감사드립니다,.

답변

4

바위,

이 가장 간단한 솔루션은 이미 안드로이드 장치에 설치되어있는 "구글지도 응용 프로그램"을 열 수 있습니다. 다음과 같이 그냥 구글지도 응용 프로그램을 매개 변수로 소스 및 대상 위치의 위도와 경도를 통과하고 전화 :

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr="+latitude_source+","+longitude_source+"&daddr="+latitude_dest+","+longitude_dest)); 
     startActivity(i); 

이 방법을 사용하여, 당신은 또한 도보 등으로, 사이클, 자동차 등 모든 운전 경로를 선택할 수 있습니다 및 응용 프로그램에 의해 제공되는 다른 기능.

0

Google Directions API에는 필요한 모든 것이 있습니다. 완전한 소스 코드를보기 전에 서비스가 어떻게 작동하는지 배우는 것이 더 쉬웠다.

기본적으로 UrlConnection을 실행하고 입력 스트림을 읽어야합니다. 기본 요청을 브라우저에 붙여 넣으면 입력 스트림이 어떻게 표시되는지 확인할 수 있습니다. 예 : http://maps.googleapis.com/maps/api/directions/xml?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false 결과에는 필요한 모든 것이 포함되어 있지만 단계별 지침과 같은 정보를 파싱해야합니다. 또한 overview_polyline 노드는 MapView에 완전한 경로를 그리는 데 사용합니다. 수식 here을 사용하여 폴리 라인을 좌표 목록으로 디코딩 할 수 있습니다.

관련 문제