IOS SwiftUI – Как размещать маркеры на изображениях, таких как карты GoogleIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 IOS SwiftUI – Как размещать маркеры на изображениях, таких как карты Google

Сообщение Anonymous »

Привет, я работаю над iOS-версией проекта, который я сделал для Android, и пытаюсь разместить маркеры/аннотации на изображении. Мне удалось получить некоторую помощь по версии для Android, но я не совсем понимаю математику и то, как сделать то же самое в SwiftUI.
Сейчас это то, что я настроил в Swift. -

Код: Выделить всё

import SwiftUI
import Kingfisher

struct ImageView: View {
@StateObject var viewModel = viewModel()
let index: Int
@State var showSheet: Bool = false
@State var show: Bool = false
@State var currentAnnotationSelected: SelectedAnnotationModel?
@State var showDialog: Bool = false
@State var note: String = ""
@State var localY: CGFloat = 0
@State var globalY: CGFloat = 0
@State var localX: CGFloat = 0
@State var globalX: CGFloat = 0
var annotationIndex: Int = 0

var body: some View {
VStack {

KFImage.url(URL(string: viewModel.uri ?? ""))
.placeholder {ProgressView()}
.loadDiskFileSynchronously()
.cacheMemoryOnly()
.gesture(DragGesture(minimumDistance: 0, coordinateSpace: .local).onEnded { dragGesture in
self.localY = dragGesture.location.y
self.localX = dragGesture.location.x
showSheet = true
})
}
.sheet(isPresented: $showSheet) {
VStack {
AnnotationNote(x: Int(self.localX), y: Int(self.localY))
}
.presentationDetents([.medium])
.presentationDragIndicator(.visible)

}
.overlay {
VStack{
if(viewModel.annotations != [] && viewModel.annotations  != nil) {

ForEach(Array((viewModel.annotations.enumerated())!), id: \.offset) { index, annotation in

Circle()
.frame(width: 15, height: 15)
.position(x: 100, y: 100)
//.position(x: CGFloat(annotation.coordinateX), y: CGFloat(annotation.coordinateY))
.onTapGesture {
currentAnnotationSelected = SelectedAnnotationModel(index: index, details: annotation)
self.showSheet = true
}
}
}
}
}
}
}
Однако у меня возникают две проблемы: 1. Маркеры не показывают то место, где я щелкнул, и 2. Мне нужны версии для Android и iOS, чтобы корректно отображать маркеры для одного и того же изображения на любом устройство, поэтому я не уверен, как быстро выполнить те же вычисления? - Версия для Android

Подробнее здесь: https://stackoverflow.com/questions/792 ... oogle-maps
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • IOS SwiftUI – Как размещать маркеры на изображениях, таких как карты Google
    Anonymous » » в форуме IOS
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Android Studio Compose Kotlin – Как размещать маркеры на изображениях, таких как карты Google
    Anonymous » » в форуме Android
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Попытка добавить маркеры для карты Trimble в React с JavaScript SDK, но маркеры сдвигаются с карты, а не при введенном L
    Anonymous » » в форуме Javascript
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Google Maps iOS SDK показывает маркеры, но не отображает детали карты
    Anonymous » » в форуме IOS
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Офлайн-карты, маркеры, линии в приложении для Android и iOS
    Гость » » в форуме Android
    0 Ответы
    95 Просмотры
    Последнее сообщение Гость

Вернуться в «IOS»