我知道這個職位: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