对于我正在进行的AR体验,我希望有一个"相机视图"它显示了基于用户位置的注释。如果用户位于某个区域,则显示注释。
我可以使用下面的
做这样的事情extension ViewController: AnnotationManagerDelegate {
func session(_ session: ARSession, cameraDidChangeTrackingState camera: ARCamera) {
print("camera did change tracking state: \(camera.trackingState)")
let annotationLocation = CLLocation()
let point = CGPoint(x: annotationLocation.coordinate.longitude, y: annotationLocation.coordinate.latitude)
let features = mapView.visibleFeatures(at: point);
if let score = features.first(where: { $0.attributes["score"] as! Int >= 5 }) {
// ...
但在我的AR视图中,我想要隐藏地图 - 不要显示它。当我尝试设置mapView.isHidden = true
时 - 查询总是失败。
这是有道理的,因为查询是针对可见功能的。如何隐藏地图,但仍然查询要素的图块?
答案 0 :(得分:0)
进入Mapbox Studio https://www.mapbox.com/studio/并创建新的地图样式并删除所有图层。您可以将Mapbox地图设置为单一纯色(土地,水,道路等),这是您需要的。如果您需要在地图和空白地图之间切换,只需在样式之间切换即可。
let basicMap = URL(string: "mapbox://styles/mapbox/outdoors-v9")
let blankMap = URL(string: "yourCustomURLFromMapboxStudio")
let mapView = MGLMapView(frame: view.bounds, styleURL: blankMap)