package adullact.publicrowdfunding.controller.project.add;
-import adullact.publicrowdfunding.R;
import android.os.Bundle;
import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
-import android.widget.TextView;
+import android.widget.Button;
import android.widget.Toast;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
+import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;
+import adullact.publicrowdfunding.R;
+
/**
* @author Ferrand and Nelaupe
*/
public class addLocationProjectFragment extends Fragment implements
OnMapClickListener {
- private GoogleMap map;
private Marker marker;
+ View rootView;
+ GoogleMap googleMap;
+
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- super.onCreateView(inflater, container, savedInstanceState);
-
- View view = null;
- try {
- /*
- view = inflater.inflate(R.layout.activity_maps, container, false);
-
- map = ((SupportMapFragment) getActivity().getSupportFragmentManager()
- .findFragmentById(R.id.)).getMap();
-
- map.setOnMapClickListener(this);
- map.setMyLocationEnabled(true);
-*/
- } catch (Exception e) {
- e.printStackTrace();
- TextView texte = new TextView(getActivity());
- texte.setText(R.string.error);
- view = texte;
+
+ if (rootView == null) {
+ rootView = inflater.inflate(R.layout.fragment_add_location,
+ container, false);
}
- marker = null;
- return view;
+ BreadCrumbView breadCrumbView = (BreadCrumbView) rootView
+ .findViewById(R.id.breadcrumb);
+ breadCrumbView.setPosition(3);
+
+ FragmentManager fm = getActivity().getSupportFragmentManager();
+
+ googleMap = ((SupportMapFragment) fm.findFragmentById(R.id.map))
+ .getMap();
+
+ googleMap.setOnMapClickListener(this);
+ googleMap.setMyLocationEnabled(true);
+
+ final Bundle args = this.getArguments();
+
+ Button button = (Button) rootView.findViewById(R.id.button_valider);
+
+ button.setOnClickListener(new OnClickListener() {
+
+ @Override
+ public void onClick(View v) {
+
+ if (marker == null) {
+ Toast.makeText(
+ getActivity().getApplicationContext(),
+ "Cliquez sur la carte pour positionner votre projet",
+ Toast.LENGTH_LONG).show();
+ return;
+ }
+
+ FragmentTransaction ft = getActivity()
+ .getSupportFragmentManager().beginTransaction()
+ .disallowAddToBackStack();
+ Fragment fragment = new validationFragment();
+ args.putDouble("location_latitude",
+ marker.getPosition().latitude);
+ args.putDouble("location_longitude",
+ marker.getPosition().longitude);
+ fragment.setArguments(args);
+ fragment.setHasOptionsMenu(true);
+ ft.replace(R.id.content_frame, fragment);
+ ft.commit();
+
+ }
+
+ });
+
+ return rootView;
}
@Override
public void onMapClick(LatLng arg0) {
- Toast.makeText(getActivity().getApplicationContext(),
- "Emplacement de votre projet ajouté", Toast.LENGTH_SHORT)
- .show();
+
if (marker == null) {
- marker = map.addMarker(new MarkerOptions().position(arg0).title(
- "Votre projet"));
+ marker = googleMap.addMarker(new MarkerOptions().position(arg0)
+ .title("Votre projet"));
+ Toast.makeText(getActivity().getApplicationContext(),
+ "Emplacement de votre projet ajouté", Toast.LENGTH_SHORT)
+ .show();
} else {
marker.remove();
- marker = map.addMarker(new MarkerOptions().position(arg0).title(
- "Votre projet"));
+ marker = googleMap.addMarker(new MarkerOptions().position(arg0)
+ .title("Votre projet"));
+ Toast.makeText(getActivity().getApplicationContext(),
+ "Emplacement modifié", Toast.LENGTH_SHORT).show();
}
}
- public LatLng getPosition() {
- return marker.getPosition();
- }
-
}
\ No newline at end of file