我知道这个职位:How to get to the max zoomlevel on iOS MKMapView如何在iOS mapKit中实现最大缩放级别?
而这似乎正是我需要解决的问题,但是,这种技术不适合我。
如果我将eyeAltitude设置为50甚至100,则返回相同的地图缩放比例。但是,一旦地图显示,我可以捏缩放到所需的缩放级别。有没有一个解决方案,以编程方式实现在地图视图的初始加载时缩小缩放级别?
编辑:我试过使用setRegion,但问题似乎与使用.satelliteFlyover具体相关。由于图像质量的差异,我需要使用.satelliteFlyover。 进一步编辑:我也发现模拟器似乎给出了一个不同的'原生缩放比',当它在我的设备上运行。我希望有人读这可以提供洞察力!
我正在使用的代码是:
let greenLocation:CLLocationCoordinate2D = CLLocationCoordinate2DMake(CLLocationDegrees(greenX),CLLocationDegrees(greenY))
let altitude:CLLocationDistance = 80
self.greenMap.mapType = .satelliteFlyover
let camera = MKMapCamera(lookingAtCenter: greenLocation, fromEyeCoordinate: greenLocation, eyeAltitude: altitude)
self.greenMap.setCamera(camera, animated: true)
谢谢@Lumialxk。如果我使用标准的二维卫星图像,这是有效的。然而它是黑暗的,在最放大的水平上质量很差。当我使用'map.maptype = .satelliteFlyover'时,我得到了一个更好的图像,但是我仍然存在这个问题。它会缩放到我知道的标准高度并不是完全缩放,因为我仍然可以捏缩放。在最终产品中,我不希望用户能够缩放变焦,所以我真的需要从一开始就获得变焦。 – matador0227