2016-10-01 76 views
0

我正在製作一個高爾夫應用程序,該應用程序應該能夠放大到一個洞的綠色。不幸的是,我爲此使用了Apple的MapKit。在某些課程中,當嘗試使用綠色的中心座標和邊界來設置區域時,應用程序不會一直縮放到洞中,如果直接嘗試再次嘗試,則會放大一點但不是全部,就好像它無法放大衛星圖像未完全加載的區域一樣。iOS MKMapView setRegion withAnimation:false會產生一個大於預期區域的區域

在堆棧溢出中有很多類似於這個問題的提及,但沒有實際的解決方案。看起來蘋果的MapKit對於顯示小區域(即小於100米)沒有用處。真氣是我可以很容易地使用普通的捏縮放行爲縮放到更小的區域,但如果我試圖將區域設置爲完全相同的縮放級別,它只能放大一半。

我已經浪費了很多時間來解決這個問題我已經考慮只是將我的整個地圖切換到谷歌的地圖視圖庫。

我的項目是在Swift 2.2中,但我在使用Objective-C的單獨項目中遇到了完全相同的問題。我的雨燕代碼如下所示:

let holeBounds: CGRect = courseSingleton!.findGreenBounds(statsSingleton!.hole) 
    let center = CLLocationCoordinate2DMake(Double(holeBounds.origin.y + holeBounds.size.height/2), Double(holeBounds.origin.x + holeBounds.size.width/2)); 

    let coordinateRegion = MKCoordinateRegionMake(center, MKCoordinateSpanMake(Double(holeBounds.size.height), Double(holeBounds.size.width))) 

    mapView.setRegion(coordinateRegion, animated: false) 

回答

0
let address : CLLocationCoordinate2D = self.getLocation(String(txtSearchlocation.text)) 
let region = MKCoordinateRegionMakeWithDistance(address, 0.05, 0.05) 
MapView.setRegion(region, animated: true) 

我想你應該嘗試這一個變焦..

+0

我已經試過這一點。我的問題似乎涉及setRegion方法本身,而不是我獲得方法內使用的MKCoordinateRegion的方式。 – jmc