首先我們想要的效果可能是這樣的:

這條路線是由4000多個經緯度的點之間的折線兩兩連接配接而得到的,,畫折線并不會改變地圖的縮放比例,貌似直接修改地圖的縮放比例也是做不到的,(這一點我不太确定,我沒有用這一點做到,我用的是另一個方法) 然而我們得到的地圖往往是這樣的:
地圖中的圖形往往顯示不全,那麼怎麼通過代碼來讓他可以不大不小的正好顯示出來呢?我的方法是這樣的: 首先: 你的折線對象應該是這樣的: MAPolyline*line = [MAPolyline polylineWithCoordinates:coords count:array.count];
對于一個折線對象 有這樣一個方法: line. boundingMapRect (這個方法表示的是你的這些的地圖的尺寸)
然後你可以使用這個方法: - (void)setVisibleMapRect:(MAMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
請注意:
必須在上面的截圖中的第一個方法或者第二個方法調用之後再調用setVisibleMapRect這個方法 )(第一個試用于你隻有一個折線對象的情況,第二個是一組折線對象)
最後一點: 你可能都做了還是并沒有什麼卵用,你得到的地圖可能是這樣的:
或者是這樣的:
那我覺得你可以試試這樣做: 在這兩個協定方法裡面調用 setVisibleMapRect 這個方法(我就是這樣搞定的)
最後一個小問題:如果你得到的折線對象可能是一個數組:
這個方法是來自 高德SDK自帶的demo中 路線規劃 部分中的一個方法,如果你對高德SDKdemo熟悉的方法,你應該認得這個方法 [ CommonUtility mapRectForOverlays : self . polyLineArray ]