In SwiftUI, the image may be scaled to fit within a Image view, and its displayed size might not match the original size. Also note SwiftUI positions elements relative to their parent view. The markers are placed relative to the scaled image size.
Adding ZStack to image or adjusting scaling factor should help. try resizable() and scaledToFit()