Pregunta

I am trying to add address from Geocoder class to be displayed in the snippet of marker. But the snippet does not accept StringBuilder object. Can anyone tell me how to do it?

Following is my code

StringBuilder str;
            try
            {
                geocoder = new Geocoder(HistoryLocation.this, Locale.ENGLISH);
                List<Address> addresses = geocoder.getFromLocation(latitudeDouble, longitudeDouble, 1);
                str = new StringBuilder();
                if(geocoder.isPresent())
                {
                    Toast.makeText(getApplicationContext(), "geocoder present", Toast.LENGTH_SHORT).show();
                    Address returnaddress = addresses.get(0);

                    String locality = returnaddress.getLocality();
                    String city = returnaddress.getCountryName();
                    String countrycode = returnaddress.getSubLocality();
                    String zip = returnaddress.getPostalCode();

                    str.append(locality + "");
                    str.append(city + "" +countrycode);
                    str.append(zip + "");

                    Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();

                }

                else 
                {
                    Toast.makeText(getApplicationContext(),
                            "geocoder not present", Toast.LENGTH_SHORT).show();
                }
            }
            catch(IOException e)
            {
                Log.e("tag", e.getMessage());
            }
            String dateAndTime = date + "-" + time;

            MarkerOptions mOptions = new MarkerOptions();
            LatLng latlng = new LatLng(latitudeDouble, longitudeDouble);
            mOptions.position(latlng);
            mOptions.title(dateAndTime);
            mOptions.snippet(str);;

            userMarker = googleMap.addMarker(mOptions);
            userMarker.setVisible(true);
¿Fue útil?

Solución

Call toString() on a StringBuilder to get a String, and pass the String to snippet().

Otros consejos

The MarkerOptions.snippet() method takes a String parameter. Change:

mOptions.snippet(str);;

to:

mOptions.snippet(str.toString());
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top