如何使用新的 iOS 17 MapKit API 绘制 MapPolyline?

问题描述 投票:0回答:1

这应该很简单,但它不起作用。

标记已显示,但我看不到地图多段线的任何内容。

如何让MapPolyline真正显示出来?

这是我的示例代码:

import SwiftUI
import MapKit

struct JunkMapView: View {
    var body: some View {
        Text("Hello, World!")
       Map {
          Marker("da Spot!!", coordinate: CLLocationCoordinate2D(latitude: 42.2926854029081, longitude: -71.0679634411345))
          Marker("da Udder Spot!!", coordinate: CLLocationCoordinate2D(latitude: 42.4281694052464, longitude: -71.1093263739832))
          Marker("da midl Spot!!", coordinate: CLLocationCoordinate2D(latitude: 42.3717488333676, longitude: -71.0670886507071))
          MapPolyline(coordinates: [
            CLLocationCoordinate2D(latitude: 42.2926854029081, longitude: -71.0679634411345),
            CLLocationCoordinate2D(latitude: 42.4281694052464, longitude: -71.1093263739832),
            CLLocationCoordinate2D(latitude: 42.3717488333676, longitude: -71.0670886507071)],
                      contourStyle: MapPolyline.ContourStyle.geodesic)
          .mapOverlayLevel(level: .aboveLabels)
          .stroke(lineWidth: 130)
          .tint(.pink)
       }
    }
}

#Preview {
    JunkMapView()
}

ios swift swiftui mapkit
1个回答
0
投票

如果您使用

.stroke(.red, lineWidth: 130)
而不是
.stroke(lineWidth: 130)
,它会按预期工作。 130也是一个巨大的线宽。也许是 5 之类的?当然,除非那是你想要的。 :)

© www.soinside.com 2019 - 2024. All rights reserved.