适用于 Swift 和 SwiftUI 的交互式地图

交互式地图

一个在 SwiftUI 中以交互方式使用基于 SVG 的地图的库。

  • 仅适用于基于.svg的地图
  • 允许您使用 SwiftUI 提供的属性修改地图中的所有省份Shape
  • 拖放和动画省份以及地图本身。

用法

要在 SwiftUI 中绘制 svg 地图,请使用带有闭包作为参数的视图。InteractiveMapProvince

import SwiftUI
import InteractiveMap

struct ContentView: View {
    @State private var clickedProvince: String = ""
    var body: some View {
        MapView(svgName: "tr") { province in
            ProvinceShape(province: province)
                .stroke(clickedProvince == province.id ? .purple : .black , lineWidth: 2)
                .onTapGesture {
                    clickedProvince = province.id
                    print("\(province.name) clicked!")
                }
        }

    }
}

交互式映射将自身调整为分配的帧大小,并在默认情况下占用所有可用空间。

你可以用 SwiftUI 允许你用 s 做任何事情。ProvinceShapeShape

GitHub

查看 Github