2014-02-17 43 views
0

我有一個MKMapView顯示兩點之間的路線。這些點可以改變,所以我希望MapView能夠放大顯示完整的路線。我使用此代碼固定它:在Xamarin C中添加填充MKMapView邊緣#

_map.SetVisibleMapRect(_routeOverlay.BoundingMapRect, true); 

現在我想,邊緣有填充,因爲路徑現在已經非常接近屏幕的邊緣。我如何添加填充到MapView?

PS。我得到了它在本土的iOS的Xcode正與此代碼,但我不能讓它與Xamarin和C#的工作:

[self.mapView2 setVisibleMapRect:[_routeOverlay boundingMapRect] edgePadding:UIEdgeInsetsMake(10.0, 10.0, 10.0, 10.0) animated:YES]; 

回答

2

我終於在一些錯誤之後修復了它。我不得不UIEdgeInsets這樣添加到我的SetVisibleMapRect():

_map.SetVisibleMapRect (_routeOverlay.BoundingMapRect, new UIEdgeInsets(20, 20, 20, 20), true); 

感謝@Jason指着我在正確的方向。

1

沒有爲SetVisibleMapRect(過載),這是否:

public virtual void SetVisibleMapRect (MKMapRect mapRect, MonoTouch.UIKit.UIEdgeInsets edgePadding, bool animate) 
+0

這似乎是正確的,但我不知道如何實現它。我的代碼在公共方法裏面,我應該在哪裏重載? –

+0

你把它放在你現有的SetVisibleRect()方法調用的地方。只需使用帶有三個參數的版本,而不是帶有兩個參數的版本。 – Jason