0

嘿家伙作为标题状态,我试图从我的 mapclicked 事件返回 logitude 和 lattiude 到我的视图模型。这是我的尝试,但没有奏效。

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)

{

var mapClickedEventArgs = value as Xamarin.Forms.Maps.MapClickedEventArgs;

var currentPossition = mapClickedEventArgs;

var lati = currentPossition.Position.Latitude;

var longi = currentPossition.Position.Longitude;



return lati;

}
4

1 回答 1

1

您可以使用 2 种好方法:

  1. 您可以返回一个值元组:
public (double lati, double longi) Convert(
    object value, Type targetType, object parameter, CultureInfo culture)

{
    var mapClickedEventArgs = value as Xamarin.Forms.Maps.MapClickedEventArgs;

    var currentPossition = mapClickedEventArgs;

    var lati = currentPossition.Position.Latitude;
    var longi = currentPossition.Position.Longitude;

    return (lati, longi);
}

注意,我不确定lati&的数据类型是什么,longi所以我假设它是 type double。如果是不同的类型,请将返回值从更改double为相关类型。

  1. 返回Position该类或创建您自己的包含属性lati&的类,longi而不是返回一个object,而是返回这个类。最后一行将类似于:
return currentPosition.Position;

或者:

return new YourClassName(lati, longi);

更新:

也许,我没有正确理解这个问题。也许您无法更改方法签名。

如果是这种情况,您可以使用匿名类型返回它:

return new { lati, longi };
于 2021-08-24T17:43:38.923 回答