Google Maps Android API v2에서 대권 코스 보기

GoogleMap은 메르카토르 도법이므로지도의 두 점 사이를 연결하는 직선은 최단 거리가 아닙니다. (메르카토르 도법으로 올바른 것은 각도만이었지요.)

지구상의 두 점 사이의 최단 거리를 "대권코스"이라고합니다.

안드로이드 버전의 새로운 API를 사용하면이 대권 코스를 쉽게 볼 수 있습니다.

이런 느낌, 빨강이 그냥 직선, 파랑이 대권 코스입니다.

greatcircle

방법은 다음과 같습니다.geodesictrue 로 하면 대권 코스가 됩니다.

GeodesicPolyline.java
GoogleMap mMap;

final LatLng TOKYO = new LatLng(35.691, 139.693);
final LatLng HAWAII = new LatLng(19.87, -155.56);

// ただの直線
mMap.addPolyline(new PolylineOptions()
    .add(TOKYO, HAWAII)
    .width(5)
    .color(Color.RED)
    .geodesic(false));

// 大圏コース
mMap.addPolyline(new PolylineOptions()
    .add(TOKYO, HAWAII)
    .width(5)
    .color(Color.BLUE)
    .geodesic(true));

Developper Guide에 설명이 있습니다.
  • Polylines and Polygons - Google Maps Android API v2

  • A Geodesic line is a line that follows the curvature of the earth. In contrast, a non-geodesic line will be drawn using the coordinate system of your screen. By Default, Polyline and Polygon objects will draw non-geodesic lines. any Polyline or Polygon to use geodesic lines by setting the geodesic property to true.

    적당한 번역
    Geodesic 선은 지구상에서 구부러진 선입니다. non-geodesic 라고 하는 것은 화면 좌표계로 그린 선으로, 이것이 디폴트입니다. Polyline과 Polygon을 geodesic으로 만들고 싶다면 geodesic 속성을 true로 설정하십시오.

    덧붙여서 이 「2점간의 최단 거리」는 [Location.distanceBetween]( ぇぇぺぺr. 안 d로이 d. 코 m/레후오렌세/안 d로이 d/ぉ카치온/ぉ카치온. HTML # ぢ s Tansebe와 Peen (어떻게 b? , double, double, double, float[]) 메소드로 구해집니다.

    분명히 자바 스크립트 버전에는 원래이 기능이 있었던 것 같습니다. 다음 사이트에 예제가 있습니다.
  • Google 지도에서 대권 코스 보기

  • 나중에 iOS 버전의 Google Maps API에도 있습니다.
    (여담이지만 iOS 버전의 API에는 Polygon을 그리는 기능도 없네요)
  • Polylines - Google Maps SDK for iOS

  • 기타



    안드로이드의 GoogleMap씨, 마음껏 축소해도 세계가 화면내에 들어가지 않기 때문에, 대권 코스의 예가 보이기 어렵다.

    좋은 웹페이지 즐겨찾기