繁体   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