>  기사  >  Java  >  Google Directions API가 KML 데이터 제공을 중단한 이유는 무엇입니까?

Google Directions API가 KML 데이터 제공을 중단한 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-25 15:30:16303검색

Why Did Google Directions API Stop Providing KML Data?

Google Directions API가 더 이상 KML 데이터를 제공하지 않는 이유는 무엇입니까?

Google Directions API는 2012년 7월 27일부터 KML 데이터 제공을 중단했습니다. 따라서 개발자는 JSON 또는 XML 형식 대신.

대안:

JSON:

JSON 데이터를 구문 분석하려면 다음과 같이 6개의 클래스를 생성할 수 있습니다.

Parser.java: 다음에 대한 인터페이스를 정의합니다. parsing.
XMLParser.java: XML 구문 분석을 위한 기본 클래스를 제공합니다.
Segment.java: 경로의 세그먼트를 나타냅니다.
Route .java: 전체를 나타냅니다. Route.
GoogleParser.java: Google JSON 데이터를 구문 분석합니다.
RouteOverlay.java: 지도 오버레이에 경로를 그립니다.

XML:

또는 다음을 사용할 수도 있습니다. 구문 분석용 XML, GoogleParser.java를 다음으로 대체:

XMLParser.java: Google XML 데이터를 구문 분석합니다.

코드 구현:

이러한 클래스를 사용하려면 다음을 생성하면 됩니다. 코드:

private Route directions(GeoPoint start, GeoPoint dest) {
    Parser parser;
    String jsonURL = "https://developers.google.com/maps/documentation/directions/#JSON";  // API URL
    StringBuffer sBuf = new StringBuffer(jsonURL);
    sBuf.append("?origin=");
    sBuf.append(start.getLatitudeE6()/1E6);
    sBuf.append(',');
    sBuf.append(start.getLongitudeE6()/1E6);
    sBuf.append("&destination=");
    sBuf.append(dest.getLatitudeE6()/1E6);
    sBuf.append(',');
    sBuf.append(dest.getLongitudeE6()/1E6);
    sBuf.append("&sensor=true&mode=driving");
    parser = new GoogleParser(sBuf.toString());
    Route r = parser.parse();
    return r;
}

그런 다음 onCreate() 함수에 다음 코드를 추가합니다.

MapView mapView = (MapView) findViewById(R.id.mapview);
Route route = directions(new GeoPoint((int)(26.2*1E6),(int)(50.6*1E6)), new GeoPoint((int)(26.3*1E6),(int)(50.7*1E6)));
RouteOverlay routeOverlay = new RouteOverlay(route, Color.BLUE);
mapView.getOverlays().add(routeOverlay);
mapView.invalidate();

위 내용은 Google Directions API가 KML 데이터 제공을 중단한 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.