Google Maps SDK iOS 以编程方式更改楼层

Google Maps SDK iOS change floor level programmatically

我没有在文档中找到任何如何以编程方式更改楼层的方法。例如:

我为 1 个房间加载了一个特定的多边形,我想将楼层地图更改为特定的楼层(例如缩放到 2 层,然后添加我的多边形)。

使用信息框添加多边形不是问题,我只是想知道是否可以通过编程方式 select 正确的楼层。

点赞:

我仍然知道有 GMSIndoorDisplayDelegate - 我可以设置活动建筑。应该有一个 "activeLevel" 方法,但我无法分配任何值。

我找到了关于如何强制更改特定建筑物楼层的解决方案。

  1. 将代表 GMSIndoorDisplayDelegate 添加到 class,
  2. 设置代表:

    mapView.delegate = self
    mapView.indoorDisplay.delegate = self
    
  3. 添加委托方法:

    func didChangeActiveBuilding(building: GMSIndoorBuilding!) {
        if let currentBuilding = building {
            var levels = currentBuilding.levels as! [GMSIndoorLevel]
            mapView.indoorDisplay.activeLevel = levels[2] // set the level (key) 
        } 
    }
    
    func didChangeActiveLevel(level: GMSIndoorLevel!) { 
       println("will be called after activeBuilding")
    }
    

P.S。友情提醒,最上层是数组中的第一项。反了。