-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathХуй
111 lines (73 loc) · 3.72 KB
/
Хуй
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
импорт SwiftUI
строка расширения{
функция загрузки() ->UIImage {
делать{
//строка для URL-адреса
guard let url = URL(строка: self) else{
//пустое изображение, если неверный URL
возвращает UIImage()
}
//url-адрес для данных
пусть данные : Данные = попробуйте данные(содержимое: url)
//создать объект uuimage из данных
вернуть UIImage(данные: данные) ?? UIImage()
}поймать{
}
вернуть UIImage()
}
}
структура contentView: Просмотр {
// @Государственная частная переменная quoteData : QuoteData?
@Государственная частная переменная quoteData: QuoteData? = Цитируемые данные(широта: "21.0938",длина: "86.5051") // Токио
@State var state = ""
@State var apiURL = ""
тело var: некоторый вид {
ZStack{
VStack{
Текст ("GPS").выделен жирным шрифтом()
.Цвет переднего плана(.красный)
.FontWeight(.heavy)
.шрифт(.заголовок)
Текст(данные в кавычках?.лат ?? "широта" )
Текст(данные в кавычках?.долго?? "долгота")
Распорка()
если let lat = quoteData?.lat, пусть long = quoteData?.длинный {
//Текст(лат)
//Текст(lon)
Распорка()
Изображение(UIImage: "https://maps.googleapis.com/maps/api/staticmap?center=\(lat),\(long)&zoom=16&size=400x400&key=YOURKEYHERE=\(lat),\(long)".load())
.изменяемый размер()
.рамка (ширина: 400, высота: 400)
}
Распорка()
Кнопка ("Трек") {
loadData()
textintro()
}
.рамка (ширина: 100, высота: 100)
.Цвет переднего плана (серый)
.фон (Цвет.синий)
.шрифт(.заголовок)
}
}
.заполнение()
}
функция textintro(){
self.state = "Localizando ..."
}
частная функция loadData(){
guard let url = URL(строка: "http://gpsanahuac.ngrok.io/cordenadas.json ") еще{
вернуть
}
URLSession.shared.dataTask(с: url){данные , ответ, ошибка в
guard пусть данные = данные еще{
вернуть
}
если let decodedData = try? JSONDecoder().decode(QuoteData.self, из: data){
DispatchQueue.main.async {
self.quoteData = декодированные данные
}
}
}.резюме()
}
}