mapView swift 导致警告“有网格错误”

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

您好,我正在创建一个带有圆形叠加层的简单地图,每次在 sim 上运行它时,我都会收到以下警告。我很感激任何帮助来摆脱它。我尝试使用某种方法添加圆形叠加层,但警告仍然没有消失。当我对欧洲的位置进行地理编码时,我还会得到另一个代码(下面的第二个)。我在谷歌上找不到关于这两个的任何信息。

” (2/2) 地面图块的地面网格层缺少 MeshRenderables。图块调试信息:(密钥:0.1.2.255 t:34 kt:0,网格错误:0,MeshInstance 计数:2,PendingMaterial 计数:2 ,不可见的 MeshInstances 计数:0 | 密钥:1.1.2.255 t:34 kt:0,有网格错误:0,MeshInstance 计数:2,PendingMaterial 计数:2,不可见的 MeshInstances 计数:0)"

未找到关键欧洲中央盾牌的配置包

import SwiftUI
import MapKit

struct MapView: UIViewRepresentable {
   @State private var coordinate = CLLocationCoordinate2DMake(45.5202471, -122.6741949)
   let city: String
   let state: String
   let country: String
   let is100: Bool

   func makeUIView(context: Context) -> MKMapView {
       let mapView = MKMapView()
       mapView.delegate = context.coordinator

       let geocoder = CLGeocoder()
       var address = "\(city), \(state), \(country)"
       if state.isEmpty {
           address = "\(city), \(country)"
       }
       geocoder.geocodeAddressString(address) { placemarks, error in
           if let placemark = placemarks?.first, let location = placemark.location {
               self.coordinate = location.coordinate
               mapView.setCenter(self.coordinate, animated: true)
               
               let region = MKCoordinateRegion(center: coordinate, latitudinalMeters: is100 ? 20000 : 10000, longitudinalMeters: is100 ? 20000 : 10000)
               mapView.setRegion(region, animated: true)

               let regionRadius = is100 ? 10000.0 : 3500.0
               let circle = MKCircle(center: coordinate, radius: regionRadius)
               mapView.addOverlay(circle)
           }
       }
       return mapView
   }

   func updateUIView(_ uiView: MKMapView, context: Context) {}

   func makeCoordinator() -> Coordinator {
       Coordinator()
   }

   class Coordinator: NSObject, MKMapViewDelegate {
       func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
           if let circle = overlay as? MKCircle {
               let circleRenderer = MKCircleRenderer(circle: circle)
               circleRenderer.strokeColor = UIColor.black
               circleRenderer.fillColor = UIColor.green.withAlphaComponent(0.5)
               circleRenderer.lineWidth = 1.0
               return circleRenderer
           }
           return MKOverlayRenderer(overlay: overlay)
       }
   }
}
ios swift swiftui mapkit
1个回答
0
投票

Missing MeshRenderables for ground mesh layer
”似乎是渲染地图的问题,而不是特定于您的代码。
我发现了多个实例相同的错误,但没有正确的解决方案。

这意味着您还需要一些调试技术,例如:

  • 重置模拟器。 (模拟器菜单中的
    Device
    ->
    Erase All Content and Settings...
    。)
  • Shift + Command + K
    清理您的构建,然后重建项目。
  • 注释掉圆圈叠加添加,看看错误是否消失。
© www.soinside.com 2019 - 2024. All rights reserved.