簡體   English   中英

反向地理編碼顯示不正確

[英]Reverse Geocoding Displaying incorreclty

我正在嘗試使用反向地理編碼向我的信息窗口添加地址。 由於某些原因,我的地址顯示為:addresscom.google.gwt.maps.client.geocoder.GeocoderResult@157d1af,但我不確定如何將其顯示為字符串。 這是我的代碼。

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);
            }

這可能意味着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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM