Swiftui 地图标记缺少参数错误
Swiftui mapmarker missing arguments error
我正在 swiftui 中制作应用程序,我添加了地图,但我在使用 mapmarker 时遇到问题,你能帮忙吗?
错误在代码部分的底部。
//
// depremHaritasi.swift
// deprembilgisistemi
//
// Created by Tugay Asan on 1.03.2022.
//
import SwiftUI
import MapKit
struct depremHaritasi: View {
let id: UUID
let location: CLLocationCoordinate2D
init(id: UUID = UUID(), lat: Double, long: Double) {
self.id = id
self.location = CLLocationCoordinate2D(
latitude: lat,
longitude: long)
}
@State var quakes: [EarthQuake] = []
@State var coordinateRegion = MKCoordinateRegion(
center: CLLocationCoordinate2D(latitude: 38.9520281, longitude: 35.6980142),
span: MKCoordinateSpan(latitudeDelta: 30, longitudeDelta: 10))
var body: some View {
Map(coordinateRegion: $coordinateRegion)
.edgesIgnoringSafeArea(.all)
.onAppear {
Api().getEarthQuake { (quakes) in
self.quakes = quakes
}
}
}
}
struct depremHaritasi_Previews: PreviewProvider {
static var previews: some View {
depremHaritas() //ERROR//Missing arguments for parameters 'lat', 'long' in call
}
}
我尝试添加地图标记,但出现“缺少参数”错误。我尝试查看不同的论坛,但没有用。我想让地图标记出现在地图上。
struct depremHaritas
init 有 3 个参数 id ,lat 和 long .参数 id 有默认值,因此可以跳过,但是,lat 和 long 没有默认值。您必须在初始化时明确提供值。
init(id: UUID = UUID(), lat: Double, long: Double)
所以,您的代码应该是:
struct depremHaritasi_Previews: PreviewProvider {
static var previews: some View {
depremHaritas(lat:0.0 , long:0.0)
}
}
或者另一种方法是在 init 中为 lat 和 long 参数提供默认值,如下所示:
init(id: UUID = UUID(), lat: Double = 0.0, long: Double = 0.0)
在这种情况下,您的调用不会遇到错误。
我正在 swiftui 中制作应用程序,我添加了地图,但我在使用 mapmarker 时遇到问题,你能帮忙吗?
错误在代码部分的底部。
//
// depremHaritasi.swift
// deprembilgisistemi
//
// Created by Tugay Asan on 1.03.2022.
//
import SwiftUI
import MapKit
struct depremHaritasi: View {
let id: UUID
let location: CLLocationCoordinate2D
init(id: UUID = UUID(), lat: Double, long: Double) {
self.id = id
self.location = CLLocationCoordinate2D(
latitude: lat,
longitude: long)
}
@State var quakes: [EarthQuake] = []
@State var coordinateRegion = MKCoordinateRegion(
center: CLLocationCoordinate2D(latitude: 38.9520281, longitude: 35.6980142),
span: MKCoordinateSpan(latitudeDelta: 30, longitudeDelta: 10))
var body: some View {
Map(coordinateRegion: $coordinateRegion)
.edgesIgnoringSafeArea(.all)
.onAppear {
Api().getEarthQuake { (quakes) in
self.quakes = quakes
}
}
}
}
struct depremHaritasi_Previews: PreviewProvider {
static var previews: some View {
depremHaritas() //ERROR//Missing arguments for parameters 'lat', 'long' in call
}
}
我尝试添加地图标记,但出现“缺少参数”错误。我尝试查看不同的论坛,但没有用。我想让地图标记出现在地图上。
struct depremHaritas
init 有 3 个参数 id ,lat 和 long .参数 id 有默认值,因此可以跳过,但是,lat 和 long 没有默认值。您必须在初始化时明确提供值。
init(id: UUID = UUID(), lat: Double, long: Double)
所以,您的代码应该是:
struct depremHaritasi_Previews: PreviewProvider {
static var previews: some View {
depremHaritas(lat:0.0 , long:0.0)
}
}
或者另一种方法是在 init 中为 lat 和 long 参数提供默认值,如下所示:
init(id: UUID = UUID(), lat: Double = 0.0, long: Double = 0.0)
在这种情况下,您的调用不会遇到错误。