2

我正在使用 NuGet 提供的 Google Maps .NET API,并且卡在查询进来的地理编码部分。

在以下代码中,我尝试将地址传递给 API 并返回Location具有匹配纬度和经度的

public Location GeoCode(string address)
{
    GoogleMapsApi.Entities.Geocoding.Request.GeocodingRequest geoRequest = new GeocodingRequest();

    geoRequest.Address = address;

    GoogleMapsApi.Entities.Geocoding.Response.GeocodingResponse geoResponse = GoogleMapsApi.GoogleMaps.Geocode.Query(geoRequest);

    GoogleMapsApi.Entities.Geocoding.Response.Result geoResult = geoResponse.Results.OfType<?> (?)

    return geoResult.Geometry.Location;
}

我意识到这是非常具体的,如果有人能启发我,我很乐意扩展这个问题以获得更普遍的应用

4

1 回答 1

1

GeocodingResponse.Results是一个IEnumerable<Result>。所以你只需要从它.First()那里得到第一个。Result

 var geoResult = geoResponse.Results.First();

请注意,如果没有第一个结果,这将引发异常。您需要在代码中处理这种情况。

于 2013-10-08T15:35:47.887 回答