Domanda

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);
È stato utile?

Soluzione

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

Altri suggerimenti

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

mOptions.snippet(str);;

to:

mOptions.snippet(str.toString());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top