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

标签 ios swift google-maps google-maps-sdk-ios

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

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

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

喜欢这里:

enter image description here

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

最佳答案

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

  1. 将委托(delegate) GMSIndoorDisplayDelegate 添加到类中,
  2. 设置委托(delegate):

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

    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/

相关文章:

ios - Swift - 使用 SwiftRangeSlider 更新标签

ios - 我的应用程序在 UIDocumentPickerViewController 上崩溃

ios - 将选择器从 UIViewController 传递到 UIView

ios - 检查 iPhone Swift 4 中的耳机端口是否可用

php - Google Maps API 在有效请求中返回 "Invalid Request"

ios - 如何向导航栏添加两个栏按钮?遇到错误

ios - 我们如何在 cocos2D 中为 CCSprite 设置标签

xcode - Swift:使用未解析的标识符 'addChild'

javascript - css 缩放的谷歌地图点击不正确的坐标

javascript - 谷歌地图 V3,strokeWeight Polyline 可缩放