2015-01-30 2 views
0

Я пытаюсь создать способ использования GoogleMap. Я хочу отслеживать маршрут источника и цели. Для этого у меня есть исходные и целевые позиции с долготой и широтой. Для этого я создал 2 атрибута. source and target источник - это мое местоположение, и цель - это то, куда я хочу идти.Как использовать источник и цель GoogleMap?

Как я могу это сделать? Как отслеживать маршрут в GoogleMap?

public class FormComoChegarEmpresa extends Fragment{ 
    private MapView mapView; 
    private GoogleMap map; 
    private final String TAG = getClass().getSimpleName() + "->"; 
    private static Empresa empresa; 


    //latitude longitude 
    private Double sourceLat, sourceLong; 
    private Double targetLat, targetLong; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.como_chegar_empresa, container, false); 

     if(getArguments().getSerializable("empresa") != null){ 
      empresa = (Empresa)getArguments().getSerializable("empresa"); 
      targetLat = empresa.getEndereco().getLatitude(); 
      targetLong = empresa.getEndereco().getLongitude(); 
     } 

     mapView = (MapView)view.findViewById(R.id.mapView); 
     mapView.onCreate(savedInstanceState); 


     map = mapView.getMap(); 
     if(map != null){ 
      map.getUiSettings().setMyLocationButtonEnabled(false); 
      map.setMyLocationEnabled(true); 

      //my location 
      sourceLat = map.getMyLocation().getLatitude(); 
      sourceLong = map.getMyLocation().getLongitude(); 

      try { 
       MapsInitializer.initialize(this.getActivity()); 
      } catch (Exception e) { 
       Log.e(TAG, e.getLocalizedMessage()); 
      } 

      // Updates the location and zoom of the MapView 
      CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(sourceLat, 
        sourceLong), 10); 
      map.animateCamera(cameraUpdate); 
     } 


     return view; 
    } 

    @Override 
    public void onActivityCreated(@Nullable Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 

    } 

    @Override 
    public void onResume() { 
     mapView.onResume(); 
     super.onResume(); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     mapView.onDestroy(); 
    } 

    @Override 
    public void onLowMemory() { 
     super.onLowMemory(); 
     mapView.onLowMemory(); 
    } 



} 

ответ

1

Если вы собираетесь провести линию между источником & назначения, вы можете использовать This Labrary

Если вы хотите начать анимацию камеры из источника к назначения, я «Не уверен, что ваш код правильный или нет! Просто я думаю, что вы должны пройти назначения в CameraUpdate, не источника ...

CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(targetLat, targetLong), 10); 
+0

очень приятно ... Попробую эту библиотеку – FernandoPaiva

+0

вы знаете, как я мог бы добавить эту библиотеку проекта в Android Studio? – FernandoPaiva

+0

@FernandoPaiva! К сожалению, я использую Eclipse и не знаю, как вы можете импортировать его в Android Studio !!! Но я знаю, что вы можете создать новый проект и скопировать файлы этой библиотеки в свой новый проект ... Затем используйте этот проект в качестве библиотеки для своего проекта. –

Смежные вопросы