Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google Maps SDK iOS以编程方式更改楼层级别_Ios_Swift_Google Maps_Google Maps Sdk Ios - Fatal编程技术网

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

Google Maps SDK iOS以编程方式更改楼层级别,ios,swift,google-maps,google-maps-sdk-ios,Ios,Swift,Google Maps,Google Maps Sdk Ios,我在文档中找不到任何方法来以编程方式更改楼层。例如: 我为一个房间加载了一个特定的多边形,并希望将楼层地图更改为特定的楼层标高(例如,缩放到标高2,然后添加我的多边形) 使用信息框添加多边形不是问题,我只想知道是否可以通过编程选择合适的楼层 就像这里: 我仍然知道有gmsindoordisplayedelegate,我可以设置活动建筑。应该有一个“activeLevel”方法,但我无法指定任何值。我找到了如何强制为特定建筑更改楼层的解决方案 将委托gmsIndoor DisplayDelega

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

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

使用信息框添加多边形不是问题,我只想知道是否可以通过编程选择合适的楼层

就像这里:


我仍然知道有gmsindoordisplayedelegate,我可以设置活动建筑。应该有一个“activeLevel”方法,但我无法指定任何值。

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

  • 将委托
    gmsIndoor DisplayDelegate
    添加到类中
  • 设置代理:

    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")
    }
    
  • 另外,这只是一个友好的提醒,最高级是数组中的第一项。它是向后的