如何从IEnumerable转换为<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很可能返回多个位置(如方法名称所示(-作为IEnumerable"转换";到location只意味着从您要返回的值列表中选择一个位置,例如,如果您想要第一个条目,请使用

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

或者,您可能想使用(并可视化(返回的所有位置,因此迭代返回的值列表:

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

最新更新