gpt4 book ai didi

iphone - MKMapView:获取相对缩放比例?

转载 作者:行者123 更新时间:2023-12-03 19:28:00 27 4
gpt4 key购买 nike

我需要获得某种比例因子,它可以告诉我 map 缩放了多少(每当区域发生变化时)。

我的第一个想法是使用跨度的纬度或经度增量值。我会跟踪“旧”值,然后在 map 区域发生变化时更新该值,并将比率与旧值进行比较。

我正在使用以下委托(delegate)方法:

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated {
// Get the new value
CLLocationDegrees newdlat = mapView.region.span.latitudeDelta;

// Find the zoom ratio (use longitude instead?)
CGFloat zoomRatio = newdlat / olddlat;

// Update the old value (defined elsewhere)
olddlat = newdlat;
}

在这种情况下,我没有使用经度增量,因为我认为它会与纬度成比例地缩放,从而产生相同的比率(这是错误的吗?)。

问题是当我在滚动 map (不缩放)的同时检查经度和纬度增量的值时,值不断发生轻微变化。如果 map 不缩放,跨度值不应该保持不变吗?也许我误解了什么。

由于这个小小的变化,我担心我的缩放比例不够准确而无法依赖(最终我将使用它来缩放 map 上的注释图像)。

我的主要问题是这是一个好的方法还是有一个我忽略的更简单的方法?

感谢您的帮助。

最佳答案

在 Breadcrumb 示例代码中,使用以下方法计算 MKZoomScale。

MKZoomScale currentZoomScale = mapView.bounds.size.width / mapView.visibleMapRect.size.width;

http://developer.apple.com/library/ios/#samplecode/Breadcrumb/Listings/Classes_BreadcrumbViewController_m.html

关于iphone - MKMapView:获取相对缩放比例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960294/

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