import SwiftUI
extension String{
func load() ->UIImage {
do{
//string to URL
guard let url = URL(string: self) else{
//empty image if wrong url
return UIImage()
}
//url to data
let data : Data = try Data(contentsOf: url)
//create uuimage obj from data
return UIImage(data: data) ?? UIImage()
}catch{
}
return UIImage()
}
}
struct ContentView: View {
@State private var quoteData : QuoteData?
var body: some View {
ZStack{
VStack{
Text(quoteData?.lat ?? "Latitude")
Text(quoteData?.long ?? "Longitude")
//------------------------HELP HERE
Image(uiImage: "https://maps.googleapis.com/maps/api/staticmap?center=LATITUDE,LONGITUDE&zoom=16&size=400x400&key=AIzaSyClGOTMpV2kKF27bxAo6nm3pIq7zmW69Fw".load())
struct QuoteData: Decodable{
//var id: Int
var long: String
var lat: String
var apiURL: String
}
我想在 IMAGE(uimage) 中使用的 url 字串中插入 QuoteData 的 long 和 lat 變數
我找不到答案,一直在尋找幾個小時沒有運氣
這只是代碼的一部分,如果有人可以幫助我,那就太好了。
uj5u.com熱心網友回復:
嘗試這樣的事情,使用\(lat),\(lon)“...在 url 字串中插入 QuoteData 的 long 和 lat 變數...”:
struct ContentView: View {
@State private var quoteData: QuoteData? = QuoteData(long: "139.7514", lat: "35.685", apiURL: "") // for testing, Tokyo
var body: some View {
VStack{
Text(quoteData?.lat ?? "Latitude")
Text(quoteData?.long ?? "Longitude")
if let lat = quoteData?.lat, let lon = quoteData?.long {
Image(uiImage: "https://maps.googleapis.com/maps/api/staticmap?center=\(lat),\(lon)&zoom=16&size=400x400&key=AIzaSyClGOTMpV2kKF27bxAo6nm3pIq7zmW69Fw".load())
}
}
}
}
PS:這與JSON物件到String無關
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/450804.html
上一篇:并行執行迅速
