我在文档中找不到任何方法以编程方式更改地板高度。例如:

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

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

像这儿:

我仍然知道还有 GMSIndoorDisplayDelegate -并且我能够设置 Activity 建筑物。应该有一个“activeLevel”方法,但是我无法分配任何值。

最佳答案

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

  • 将委托GMSIndoorDisplayDelegate添加到类
  • 设置代表:
    mapView.delegate = self
    mapView.indoorDisplay.delegate = self
    
  • 添加委托方法:
    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")
    }
    

  • 附言温馨提示,最高级别是数组中的第一项。倒退了

    关于ios - Google Maps SDK iOS以编程方式更改楼层级别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31183728/

    10-09 10:02