锚点偏移不适用于“此处地图”地图叠加层(iOS Swift)

时间:2019-07-25 10:03:03

标签: ios swift here-api

我有一个用Swift编写的iOS应用程序,正在该应用程序上实现Here Maps(Premium)。我已经放置了标记,并且实现了当用户单击标记时显示“信息窗口”弹出窗口的方法。我通过启动UIViewController并将其作为子视图添加到NMAMapOverlay来实现它。然后,将NMAMapOverlay添加到NMAMapView。

“信息窗口/叠加层”可以完美显示,但是问题在于,它直接在标记上方居中显示,就像here所述的默认行为一样。我想将叠加层放在屏幕上稍高一点的位置,以便信息窗口的底部边缘与标记的顶部大致重合。根据{{​​3}},我应该能够设置anchorOffset以相对于锚点/坐标定位叠加层。但是,设置anchorOffset无效。我使用不正确吗?我想念什么吗?如何定位叠加层,使其显示在标记的顶部而不是居中?

作为参考,我在下面显示用于添加叠加层的代码:

let infoWindow = Bundle.main.loadNibNamed("CustomInfoWindow", owner: self, options: nil)!.first! as! CustomInfoWindowController
let coords:NMAGeoCoordinates = NMAGeoCoordinates(latitude: marker.coordinates.latitude, longitude: marker.coordinates.longitude)
let overlay: NMAMapOverlay = NMAMapOverlay()
overlay.coordinates = coords
overlay.addSubview(infoWindow)
overlay.isHidden = false
overlay.anchorOffset = CGPoint(x:0, y:-50) //This has no effect. Why not?
mapView.add(mapOverlay: overlay)

1 个答案:

答案 0 :(得分:0)

正如此处的支持所说, “我们无法重现该问题。一切都按预期进行。我们在当前的master和3.12版本上对其进行了测试。您使用的是哪个版本的SDK?” 我们需要以上信息。