2017-07-02 10 views
0

私はそれを実行しようとしたときにどこかputからこのコードをコピーしました。メソッドはスーパークラスからメソッドをオーバーライドしません。私はJava継承の初心者です。これを理解するのを手伝ってください。これをどうすれば解決できますか?このエラーは、最後の2つの@overrideメソッドに対して表示されます。メソッドはそのスーパークラスからメソッドをオーバーライドしません

public class MapViewFragment extends Fragment implements OnMapReadyCallback { 


     private Button btnFindPath; 
     private EditText etOrigin; 
     private EditText etDestination; 
     private ProgressDialog progressDialog; 

     private List<Marker> originMarkers = new ArrayList<>(); 
     private List<Marker> destinationMarkers = new ArrayList<>(); 
     private List<Polyline> polylinePaths = new ArrayList<>(); 


     GoogleMap mGoogleMap; 
     MapView mMapView; 
     View mView; 




     public MapViewFragment() { 
      // Required empty public constructor 
     } 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
     } 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      // Inflate the layout for this fragment 
      mView = inflater.inflate(R.layout.fragment_map_view, container, false); 

      btnFindPath = (Button) getView().findViewById(R.id.btnFindPath); 
      etOrigin = (EditText) getView().findViewById(R.id.etOrigin); 
      etDestination = (EditText) getView().findViewById(R.id.etDestination); 

      btnFindPath.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        sendRequest(); 
       } 
      }); 

      return mView; 
     } 

     private void sendRequest() { 
      String origin = etOrigin.getText().toString(); 
      String destination = etDestination.getText().toString(); 
      if (origin.isEmpty()) { 
       Toast.makeText(getActivity(), "Please enter origin address!", Toast.LENGTH_SHORT).show(); 
       return; 
      } 
      if (destination.isEmpty()) { 
       Toast.makeText(getActivity(), "Please enter destination address!", Toast.LENGTH_SHORT).show(); 
       return; 
      } 

      try { 
       new DirectionFinder(getActivity(), origin, destination).execute(); 
      } catch (UnsupportedEncodingException e) { 
       e.printStackTrace(); 
      } 
     } 



     @Override 
     public void onViewCreated(View view, Bundle savedInstanceState) { 
      super.onViewCreated(view, savedInstanceState); 

      mMapView = (MapView) mView.findViewById(R.id.map); 
      if (mMapView != null){ 
       mMapView.onCreate(null); 
       mMapView.onResume(); 
       mMapView.getMapAsync(this); 

      } 
     } 

     @Override 
     public void onMapReady(GoogleMap googleMap) { 
      MapsInitializer.initialize(this.getActivity()); 
      mGoogleMap = googleMap; 
      googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
      googleMap.addMarker(new MarkerOptions().position(new LatLng(27.717245, 85.323960)).title("Yo ho Kathmandu University") .snippet("I study Here")); 
      CameraPosition Liberty = CameraPosition.builder().target(new LatLng(27.717245, 85.323960)).zoom(16).bearing(0).tilt(45).build(); 
      googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(Liberty)); 

      googleMap.setMyLocationEnabled(true); 


     } 


     @Override 
     public void onDirectionFinderStart() { 
      progressDialog = ProgressDialog.show(getActivity(), "Please wait.", 
        "Finding direction..!", true); 

      if (originMarkers != null) { 
       for (Marker marker : originMarkers) { 
        marker.remove(); 
       } 
      } 

      if (destinationMarkers != null) { 
       for (Marker marker : destinationMarkers) { 
        marker.remove(); 
       } 
      } 

      if (polylinePaths != null) { 
       for (Polyline polyline:polylinePaths) { 
        polyline.remove(); 
       } 
      } 
     } 

     @Override 
     public void onDirectionFinderSuccess(List<Route> routes) { 
      progressDialog.dismiss(); 
      polylinePaths = new ArrayList<>(); 
      originMarkers = new ArrayList<>(); 
      destinationMarkers = new ArrayList<>(); 

      for (Route route : routes) { 
       mGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(route.startLocation, 16)); 
       ((TextView) getView().findViewById(R.id.tvDuration)).setText(route.duration.text); 
       ((TextView) getView().findViewById(R.id.tvDistance)).setText(route.distance.text); 

       originMarkers.add(mGoogleMap.addMarker(new MarkerOptions() 
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_media_pause)) 
         .title(route.startAddress) 
         .position(route.startLocation))); 
       destinationMarkers.add(mGoogleMap.addMarker(new MarkerOptions() 
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_media_play)) 
         .title(route.endAddress) 
         .position(route.endLocation))); 

       PolylineOptions polylineOptions = new PolylineOptions(). 
         geodesic(true). 
         color(Color.BLUE). 
         width(10); 

       for (int i = 0; i < route.points.size(); i++) 
        polylineOptions.add(route.points.get(i)); 

       polylinePaths.add(mGoogleMap.addPolyline(polylineOptions)); 
      } 
     } 
    } 
+0

チェック輸入:

public class MapViewFragment extends Fragment implements OnMapReadyCallback, DirectionFinderListener 

では、Googleマップの方向サンプルアプリからのすべてのクラスを追加することを忘れないでください。 android.support.v4.app.Fragmentをインポートするapp.fragmentをchnageします。 –

答えて

0

あなたは "DirectionFinderListener" インターフェースが欠落している:ファイル内 https://github.com/hiepxuan2008/GoogleMapDirectionSimple/tree/master/app/src/main/java/Modules

+0

私は既に他のすべてのクラスを追加しました。どうもありがとうございました 。 –

+0

この例でテキストを編集する代わりにプレースオートコンプリートを使用するにはどうすればよいですか? –

関連する問題