我无法理解如何在用户更改音高和方位后立即获取地图视口坐标
这是我的代码示例 - https://jsfiddle.net/5uwdfhdp/6/
我使用.getBounds()
方法,但似乎它的工作错误。
在用户旋转之前点击地图后,我得到一个正确的矩形,之后 - 一些荒谬的东西。
我可能会使用坐标错误,但在我看来,mapbox方法并没有按预期工作。
答案 0 :(得分:1)
问题在于,当您使用坐标的正交反射构建矩形时,不会考虑旋转和俯仰。尝试通过容器的像素坐标获取地理多边形:
const canvas = map.getCanvas()
const w = canvas.width
const h = canvas.height
const cUL = map.unproject ([0,0]).toArray()
const cUR = map.unproject ([w,0]).toArray()
const cLR = map.unproject ([w,h]).toArray()
const cLL = map.unproject ([0,h]).toArray()
const coordinates = [cUL,cUR,cLR,cLL,cUL]
const polygon = turf.polygon([coordinates])