Вопрос

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);
Это было полезно?

Решение

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

Другие советы

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

mOptions.snippet(str);;

to:

mOptions.snippet(str.toString());
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top