0
저는 Google지도 작업 중이며 Map Fragment Class를 지원하고 있습니다. 이 프로그램이 두 점 사이의 거리를 계산하기를 원합니다. 그러나 ComputeDistanceBetween 메서드를 해결할 수 없다는 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까? (대부분의 코드는 Github에서 가져 왔습니다.)ComputeDistanceBetween 메서드를 해결할 수 없습니다
public class DistanceDemoActivity extends BaseDemoActivity implements GoogleMap.OnMarkerDragListener {
private TextView mTextView;
private Marker mMarkerA;
private Marker mMarkerB;
private Polyline mPolyline;
private Object SphericalUtil;
protected int getLayoutId() {
return R.layout.distance_demo;
}
protected void startDemo() {
mTextView = (TextView) findViewById(R.id.textView);
getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(-33.8256, 151.2395), 10));
getMap().setOnMarkerDragListener(this);
mMarkerA = getMap().addMarker(new MarkerOptions().position(new LatLng(-33.9046, 151.155)).draggable(true));
mMarkerB = getMap().addMarker(new MarkerOptions().position(new LatLng(-33.8291, 151.248)).draggable(true));
mPolyline = getMap().addPolyline(new PolylineOptions().geodesic(true));
Toast.makeText(this, "Drag the markers!", Toast.LENGTH_LONG).show();
showDistance();
}
private void showDistance() {
double distance = SphericalUtil.computeDistanceBetween(mMarkerA.getPosition(), mMarkerB.getPosition());
mTextView.setText("The markers are " + formatNumber(distance) + " apart.");
}
private void updatePolyline() {
mPolyline.setPoints(Arrays.asList(mMarkerA.getPosition(), mMarkerB.getPosition()));
}
private String formatNumber(double distance) {
String unit = "m";
if (distance < 1) {
distance *= 1000;
unit = "mm";
} else if (distance > 1000) {
distance /= 1000;
unit = "km";
}
return String.format("%4.3f%s", distance, unit);
}
@Override
public void onMarkerDragEnd(Marker marker) {
showDistance();
updatePolyline();
}
@Override
public void onMarkerDragStart(Marker marker) {
}
@Override
public void onMarkerDrag(Marker marker) {
showDistance();
updatePolyline();
}
}
대부분의 코드는 어디에서 가져 왔는지 또는 적어도 일부는 작동하고 있는지 확인해야합니다 – YakovL