2015-12-14 77 views
1

我嘗試顯示OSM瓦片上的MKMapView層以上的蘋果地圖在iOS版XamarinMKMap不顯示開放街道地圖方塊疊加

private MKTileOverlay _tileOverlay; 
...... 
public override void ViewDidLoad() 
{ 
    ..... 
    MapDelegate _mapDelegate = new MapDelegate(); 
    map.Delegate = _mapDelegate; 
    ..... 

    String urlTemplate = "http://tile.openstreetmap.org/{z}/{x}/{y}.png"; 
    _tileOverlay = new MKTileOverlay(urlTemplate); 
    _tileOverlay.CanReplaceMapContent = true; 
    map.AddOverlay(_tileOverlay, MKOverlayLevel.AboveLabels); 

    ..... 
} 

和重寫OverlayRenderer類 「MapDelegate:MKMapViewDelegate」

public override MKOverlayRenderer OverlayRenderer (MKMapView mapView, IMKOverlay overlay) 
    { 
     if (overlay is MKTileOverlay) 
     { 
      var tile = (MKTileOverlay)overlay; 
      var renderer = new MKTileOverlayRenderer (tile) { 
      }; 

      return renderer; 
     } 
     return null; 
    } 

運行應用程序我看到一個沒有OSM的空白圖層。

回答

1

您運行的是哪個版本的iOS?

由於iOS9蘋果的應用程序傳輸安全(ATS)默認情況下會默認要求使用HTTPS。

如果您想(或需要)使用HTTP,那麼您必須編輯您的Info.plist以允許特定(或全局)使用HTTP。有關更多詳細信息,請參閱Xamarin的documentation

相關問題