我正在顯示一個MKMapView
,並在上面覆蓋了另一個自定義視圖(下面的「雷達」)。雷達只是一個靜態視圖,始終保持居中,不會調整大小 - 它不是地圖註釋。我們的想法是,用戶可以滾動和縮放地圖,直到雷達覆蓋他們感興趣的區域。將視圖從MKMapKit轉換爲區域
什麼讓雷達覆蓋的MKCoordinateRegion
的最佳方式?我試過convert:toRegionFromView:
,但我沒有看到結果我希望:
print("map region: \(mainView.map.region)")
// region: MKCoordinateRegion(center: __C.CLLocationCoordinate2D(latitude: 37.132839999999987, longitude: -95.785579999999968), span: __C.MKCoordinateSpan(latitudeDelta: 74.933954323122975, longitudeDelta: 61.276015749875469))
let radarRegion = mainView.map.convert(mainView.radar.frame, toRegionFrom: mainView.map)
print("radar region: \(radarRegion)")
// radar region: MKCoordinateRegion(center: __C.CLLocationCoordinate2D(latitude: 32.559875544717606, longitude: -95.760911716686806), span: __C.MKCoordinateSpan(latitudeDelta: 21.752004541359227, longitudeDelta: 25.901697478812096))
我期望radarRegion
具有相同的中心座標,以及一個跨度約一半,那些map.region
的。這兩個都不是真的。
這是一個small project複製我的設置。
謝謝@Fahim,我給了那一槍,但我沒有看到太多的改善。至於層次結構,'mainView'是一個'UIView',包含'mapView'和'radar'。我嘗試了'mainView.map.convert(mainView.radar.frame,toRegionFrom:mainView.map)'和'mainView.map.convert(mainView.radar.frame,toRegionFrom:mainView.radar)''但仍然沒有看到我' d期望。 –
但是'mainView.map'不適合第二個參數,對嗎?我相信它應該是'mainView',因爲radar.frame將在'mainView'座標中,所以不應該是'mainView.map.convert(mainView.radar.frame,toRegionFrom:mainView)'? – Fahim
唉,也不行。你認爲這將有助於添加我嘗試過的每種組合的結果嗎? –