如何从 IEnumerable<location> 转换为位置?

How to convert from IEnumerable<location> to location?

我正尝试在单击按钮时使用 geocoding.getlocationasync() 获取位置

这是代码

private async void Srch_button_Click(object sender, EventArgs e)
{
    Location loc = (Location) await Geocoding.GetLocationsAsync(srch_text.Text);

    LatLng latlng_src = new LatLng(loc.Latitude, loc.Longitude);

    MarkerOptions mo = new MarkerOptions();
    mo.SetPosition(latlng_src);
    mo.Draggable(true);

    googleMap.AddMarker(mo);

    CameraUpdate camup = CameraUpdateFactory.NewLatLngZoom(latlng_src, 17);
    googleMap.MoveCamera(camup);
}

但它显示无效转换异常 - 那么如何从 IEnumerable<location> 转换为 location?请帮忙

GetLocationsAsync 最有可能 returns 多个 位置(如方法名称所示)- 作为 IEnumerable。 “转换”为 location 只是意味着从您返回的值列表中选择 一个位置 - 例如如果你想要第一个条目 - 使用

Location loc = await Geocoding.GetLocationsAsync().First()

或者您可能想使用(并可视化)所有 位置 returned - 因此遍历值列表 return:

foreach (Location loc in await Geocoding.GetLocationsAsync())
{
    // do whatever you want to do with each "location" returned .....
}