-1

无法从元组列表中为View.Pin分配位置(实际程序中有 300 个元组),请评论如何修复它。

错误:“列表”类型与“视图元素”类型不兼容

let tokyo = Position(35.652832, 139.839478)

// create sample tuples
let t1 = ("35", 48.856, 2.3522)
let t2 = ("32", 51.5074, -0.1278)
let t3 = ("25", 50.9513, 1.8587)

// create sample list
let lst = [ t1; t2; t3 ]

let map =
    View.Map
        (hasZoomEnabled = true, hasScrollEnabled = true,
         pins = [ lst |> List.map (fun (_, a, b) -> View.Pin(Position(a, b), label = "Dummy", pinType = PinType.Place)) ],
         requestedRegion = MapSpan.FromCenterAndRadius(tokyo, Distance.FromKilometers(300.)))
4

1 回答 1

0

我从“ https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/list.map%5B%27t%2C%27u%5D-function-%5Bfsharp%5D ”中找到了解决方案

令我惊讶的是,F# 是一种很棒的函数式语言,只需几行代码即可处理大型数据集。

 let view (model : Model) dispatch =

        // A list of 300 tuples
        let jpnDatas = jsonData.jpnData

        let pins =
            jpnDatas
            |> List.map (fun (_, a, _, _, b, c) -> View.Pin(Position(b, c), label = a, pinType = PinType.Place))

        let tokyo = Position(35.652832, 139.839478)

        let map =
            View.Map
                (hasZoomEnabled = true, hasScrollEnabled = true,
                 pins = [ for pin in pins do yield pin ],
                 requestedRegion = MapSpan.FromCenterAndRadius(tokyo, Distance.FromKilometers(300.)))
于 2019-11-08T11:30:02.567 回答