【问题标题】:Google Maps SDK iOS change floor level programmaticallyGoogle Maps SDK iOS 以编程方式更改楼层
【发布时间】:2016-02-16 16:19:10
【问题描述】:
我在文档中没有找到如何以编程方式更改楼层的任何方法。例如:
我为 1 个房间加载了一个特定的多边形,我想将楼层地图更改为特定的楼层(例如缩放到第 2 层,然后添加我的多边形)。
使用信息框添加多边形不是问题,我只是想知道是否可以通过编程方式选择正确的楼层。
喜欢这里:
我仍然知道有 GMSIndoorDisplayDelegate - 我可以设置活动建筑物。应该有一个“activeLevel”方法,但我无法分配任何值。
【问题讨论】:
标签:
ios
swift
google-maps
google-maps-sdk-ios
【解决方案1】:
我找到了如何强制更改特定建筑物的楼层的解决方案。
- 将代理
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")
}
附:友情提示,最上层是数组中的第一项。倒退了。