2012-11-13 37 views
0

我正在嘗試使用反向地理編碼將地址添加到我的infowindow。出於某種原因,我的地址顯示爲:[email protected]f,我不確定如何使其顯示爲字符串。 這是我的代碼。反向地理編碼顯示不正確

final GeocoderRequest request = new GeocoderRequest(); 
request.setLatLng(point); //point is lat long to be displayed 
Geocoder geocoder = new Geocoder(); 
geocoder.geocode(request, new GeocoderCallback() { 

    @Override 
    public void callback(List<HasGeocoderResult> responses, String status) { 
       HasGeocoderResult result = responses.get(0); 
       String address = result.toString(); 


       infoWindow2.setContent(address);   

       infoWindow2.open(myMap.getMap(), marker2); 
      } 

回答

1

這可能意味着HasGeocodeResult類沒有toString方法的特定實現。你看到的(GeocoderResult @ 157d1af)是Object類中toString標準實現的輸出。

更好的方法是在GeocoderResult中查找其他方法,您可以使用該方法創建結果的可讀描述。

例如,似乎有一個叫做getAddressComponents()。我相信你可以從這個方法創建一個體面的輸出(可能還有其他一些方法)。我不熟悉這些類,所以我不太清楚這些東西是什麼,但是如何處理這樣的代碼:

StringBuilder address = new StringBuilder(); 
for (HasAddressComponent component : result.getAddressComponent()) { 
    address.append(component.getLongName()); 
    address.append("\n"); 
} 

infoWindow2.setContent(address.toString);