0

ポイントへ。ここでわかるように、Google Maps Android Api v2 distanceBetween メソッドを使用して、ユーザーの場所と地図上のある点の間の距離を取得しています。

float[] distance = new float[1];
Location currentLocation = PECApplication.getInstance().getLocationClient().getLastLocation();
Location.distanceBetween(currentLocation.getLatitude(), currentLocation.getLongitude(), marker.getPosition().latitude, marker.getPosition().longitude, distance);
TextView distanceView = (TextView) infoWindow.findViewById(R.id.eventDistanceValue);
distanceView.setText(formatDistance(distance[0]));

問題は、結果が Google マップの Web サイトから受け取った結果と一致しないことです。ケースの 1 つで、Google マップ Web サイトの距離は 31 km で、distanceBetween メソッドの結果は 23,328 KM でした。誰かが手がかりを持っていますか?どうもありがとう。

4

1 に答える 1

1

MH そうですね。道路に沿って移動距離を取得したい場合は、Web サービスのGoogle Directionsを使用する必要があります。そのため、選択した開始点と終了点で http 要求を実行する必要があります。応答は、実際の距離、ターンバイターンの指示など、ポイント間のルートに関する詳細情報を含む JSON です。

コードの詳細については、この質問を参照してください。

于 2013-07-20T15:20:18.433 に答える