【问题标题】:How is the altitude of MKMapCamera calculated?MKMapCamera 的高度是如何计算的?
【发布时间】:2014-03-27 02:24:51
【问题描述】:

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

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

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

谢谢!

【问题讨论】:

    标签: ios iphone mkmapview mapkit


    【解决方案1】:

    我在问同样的问题时发现了你的帖子。然后我发现了这个帖子:

    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];
    

    【讨论】:

    • 你的例子中pinCenterpinEye是什么?
    猜你喜欢
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    相关资源
    最近更新 更多