私はSupportMapFragmentを使用してGoogleマップを表示します。 2つの場所の間でDirection APIを2つ使用します。 GSONライブラリを使ってDirection APIを返したJSONデータを解析し、各経路を示すステップタグを抽出します。私はそれを描画するためにポリラインを使います。私のルートは道路上で一致せず、ほとんど直線です。Googleマップのポリラインを使用して2点間の経路を描く
GoogleDirectionResponse data = (GoogleDirectionResponse) response;
if (data.getStatus().matches("OK")){
List<LatLng> steps = new ArrayList<>();
RoutesData routesData = data.getRoutes().get(0);
LegData legData = routesData.getLegs().get(0);
for (StepsData item : legData.getSteps()){
LatLng start = new LatLng(item.getStart_location().getLat(), item.getStart_location().getLng());
LatLng end = new LatLng(item.getEnd_location().getLat(), item.getEnd_location().getLng());
steps.add(start);
steps.add(end);
}
onDirectionFetchedListener.onDirectionFetched(steps);
}
私は配列に緯度経度データを保持し、それを描画するために断片化することを渡します:
このコードはGoogleのリターンことをJSON方向の私の抽出である
@Override
public void onDirectionFetched(List<LatLng> steps) {
PolylineOptions rectLine = new PolylineOptions().width(3).color(
Color.RED);
for (LatLng item : steps) {
rectLine.add(item);
}
Polyline polylin = map.addPolyline(rectLine);
}
、これは私のマップです:
は赤い線を見てとります。それは道のりではありません。どのようにしてこの問題を解決できますか? the documentationによると感謝
ありがとうございます。それは働く –