How to send a LatLng instance in a new intent

I need to pass an instance of the LatLng class to another intent. How am I supposed to do this? Here is the code.

LatLng fromPosition = new LatLng(23.4555453556, 11.145315551); LatLng toPosition = new LatLng(12.1115145311, 99.333455333); Intent i= new Intent(Maps.this, Routes.class); startActivity(i); 

Please help me here.

Route Class:

  public class Routes extends FragmentActivity { GoogleMap mMap; GMapV2Direction md; private String provider; double lati; double longi; String name; Location location; Document doc; PolylineOptions rectLine; Bundle bundle = getIntent().getParcelableExtra("bundle"); LatLng fromPosition = bundle.getParcelable("from_position"); LatLng toPosition = bundle.getParcelable("to_position"); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.maps2); md = new GMapV2Direction(); mMap = ((SupportMapFragment)getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); LatLng coordinates = fromPosition; mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(coordinates, 16)); mMap.addMarker(new MarkerOptions().position(fromPosition).title("Start")); mMap.addMarker(new MarkerOptions().position(toPosition).title("End")); new ParseXML().execute(); } private class ParseXML extends AsyncTask<Void, Void, Document> { @Override protected Document doInBackground(Void... params) { doc = md.getDocument(fromPosition, toPosition, GMapV2Direction.MODE_DRIVING); ArrayList<LatLng> directionPoint = md.getDirection(doc); rectLine = new PolylineOptions().width(3).color(Color.RED); for (int i = 0; i < directionPoint.size(); i++) { rectLine.add(directionPoint.get(i)); } return null; } @Override protected void onPostExecute(Document result) { // TODO Auto-generated method stub mMap.addPolyline(rectLine); } } } 

This is my route class. I do not know the problem. Help me here. It seems to be sending a packet, but there is an error in receiving it.

+6
source share
1 answer

use the putParcelable method to attach the LatLng object to the package:

 Bundle args = new Bundle(); args.putParcelable("from_position", fromPosition); args.putParcelable("to_position", toPosition); 

Now attach it to your intentions:

 i.putExtra("bundle", args); 

To get it in your new activity:

 Bundle bundle = getIntent().getParcelableExtra("bundle"); LatLng fromPosition = bundle.getParcelable("from_position"); LatLng toPosition = bundle.getParcelable("to_position"); 
+18
source

All Articles