我正在使用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;
}
我意识到这是非常具体的,如果有人能启发我,我很乐意为更广泛的应用扩展这个问题
GeocodingResponse.Results
是一个IEnumerable<Result>
。因此,您只需要做一些就.First()
可以从中获得第一Result
。
var geoResult = geoResponse.Results.First();
请注意,如果没有第一个结果,这将引发异常。您将需要在代码中处理这种情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句