how to show multiple marker on google map android

13,392

Use this:

for (int i = 0; i < yourArrayList.size(); i++) {

  double lati=Double.parseDouble(pins.get(i).latitude);
  double longLat=Double.parseDouble(pins.get(i).longitude);
  MAP.addMarker(new MarkerOptions().position(new LatLng(lati,longLat)).title(pins.get(i).pinname).snippet(pins.get(i).address));
 }

Or you can also use this:

 for(int pin=0; pin<pins.size(); pin++)
            {
                LatLng pinLocation = new LatLng(Float.parseFloat(pins.get(pin).latitude), Float.parseFloat(pins.get(pin).longitude));
                Marker storeMarker = map.addMarker(new MarkerOptions()
                .position(pinLocation)
                .title(pins.get(pin).pinname)
                .snippet(pins.get(pin).address)
                );
            }

where latitude and longitude is the String to which you have store in your arraylist with different name.....

Share:
13,392
Aoyama Nanami
Author by

Aoyama Nanami

Junior Mobile Programming for android

Updated on July 25, 2022

Comments

  • Aoyama Nanami
    Aoyama Nanami almost 2 years

    i want to show location with multiple markers on google maps android, the problem is when i run my apps, it just show one location/marker, this is my code :

    public class koordinatTask extends AsyncTask<String, String, String>
        {
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                setProgressBarIndeterminateVisibility(true);
            }
    
            protected String doInBackground(String... args) {
                 String url = "http://absc?action=p04&prov="+link_kode+"&tipe=";
                 JSONArray data = null;
                try {
                    JSONParser jParser = new JSONParser();
                    JSONObject json = jParser.getJSONFromUrl(url);
                    // Getting Array of data
                    data = json.getJSONArray(real_data);
                    System.out.println("realisasi done");
    
                    for(int i = 0; i < data.length(); i++){
                        JSONObject c = data.getJSONObject(i);
                        HashMap<String, String> map = new HashMap<String, String>();
                        HashMap<String, Double> map1 = new HashMap<String, Double>();
                        x_lat = c.getDouble(x_cord);
                        y_long = c.getDouble(y_cord);
                        label = c.getString(prov_label);
                        map1.put(x_cord, x_lat);
                        map1.put(y_cord, y_long);
                        map.put(prov_label, label);
                        ProvinsiList.add(map);
                        ProvinsiList.add(map1);
                        System.out.println(x_lat);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                return null;
            }
    
            @Override
            protected void onPostExecute(String file_url) {
                LatLng MAP_PUPI = new LatLng(x_lat, y_long);
                Marker Pupi = map.addMarker(new MarkerOptions().position(
                        new LatLng(x_lat, y_long)).title(label));
                map.moveCamera(CameraUpdateFactory.newLatLngZoom(MAP_PUPI, 15));
    
                map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
            }   
        }
    

    i don't know where's my fault, i hope somebody can help me to solve my problem, thank u verymuch

  • Devendra Singh
    Devendra Singh almost 9 years
    how does it work? like if i stores lat and long in a arraylist than the for (int i = 0; i < yourArrayList.size(); i++) and if i add lat and long like this arraylist.add(lat) and arraylist.add(long)` will this work?
  • Piyush
    Piyush almost 9 years
    Arraylist must be with LatLng prototype.
  • Piyush
    Piyush almost 9 years
    ArrayList<LatLag> yourArrayList = new ArrayList<>();
  • Devendra Singh
    Devendra Singh almost 9 years
    i meant adding lats and longs in it.