ContentView.swift
struct ContentView: View {
@State var inputText: String = ""
@State var dispSearchKey: String = ""
var body: some View {
VStack {
TextField("キーワード", text: $inputText, prompt: Text("キーワードを入力してください"))
.onSubmit {
dispSearchKey = inputText
}
.padding()
MapView(searchKey: dispSearchKey)
}
}
}

ContentView.swift
struct ContentView: View {
@State var inputText: String = ""
@State var dispSearchKey: String = ""
@State var dispMapType: MKMapType = .standard
var body: some View {
VStack {
TextField("キーワード", text: $inputText, prompt: Text("キーワードを入力してください"))
.onSubmit {
dispSearchKey = inputText
}
.padding()
ZStack(alignment: .bottomTrailing){
MapView(searchKey: dispSearchKey, mapType: dispMapType)
Button(action: {
if dispMapType == .standard {
dispMapType = .satellite
} else if dispMapType == .satellite {
dispMapType = .hybrid
} else if dispMapType == .hybrid {
dispMapType = .hybridFlyover
} else if dispMapType == .hybridFlyover {
dispMapType = .mutedStandard
} else {
dispMapType = .standard
}
}) {
Image(systemName: "map")
.resizable()
.frame(width: 35.0, height: 35.0, alignment: .leading)
}
.padding(.trailing, 20.0)
.padding(.bottom, 30.0)
}
}
}
}
うーむ、これは凄いわ