gpt4 book ai didi

ios - MKMapCamera 的高度是如何计算的?

转载 作者:可可西里 更新时间:2023-11-01 05:35:30 26 4
gpt4 key购买 nike

当 View 滚动时,我一直在记录 MKMapView 相机的高度,我发现了一个奇怪的行为:视点的高度随着用户滚动而波动,尽管外观 map 的缩放级别保持不变。

经过仔细检查,似乎海拔高度会随着用户向南滚动(向赤道方向)而降低,而一旦用户通过赤道,海拔高度就会再次升高。我认为这可能与地球的曲率有关,并且可能涉及一些我没有的三角学或制图知识。

我正在尝试模拟此功能。我有一个 CLLocationCoordinate2D 和当前高度和缩放级别,我想为 MKMapCamera 计算正确的高度。

谢谢!

最佳答案

我在问同样的问题时找到了你的帖子。然后我找到了这篇文章:

How to determine the correct altitude for an MKMapCamera focusing on an MKPolygon

将其浓缩为您(和我的)问题的答案:

    double distance = MKMetersBetweenMapPoints(MKMapPointForCoordinate(pinCenter.coordinate),
MKMapPointForCoordinate(pinEye.coordinate));
double altitude = distance / tan(M_PI*(15/180.0));

MKMapCamera *camera = [MKMapCamera cameraLookingAtCenterCoordinate:pinCenter.coordinate
fromEyeCoordinate:pinEye.coordinate
eyeAltitude:altitude];

关于ios - MKMapCamera 的高度是如何计算的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21891958/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com