Ios MKMap don';t显示开放式街道地图平铺覆盖图
我尝试在Xamarin iOS的MKMapView上将OSM瓷砖显示为苹果地图上方的图层Ios MKMap don';t显示开放式街道地图平铺覆盖图,ios,xamarin.ios,maps,mkmapview,openstreetmap,Ios,Xamarin.ios,Maps,Mkmapview,Openstreetmap,我尝试在Xamarin iOS的MKMapView上将OSM瓷砖显示为苹果地图上方的图层 private MKTileOverlay _tileOverlay; ...... public override void ViewDidLoad () { ..... MapDelegate _mapDelegate = new MapDelegate (); map.Delegate = _mapDelegate; ..... String urlTemplate = "ht
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);
.....
}
并在类“MapDelegate:MKMapViewDelegate”中重写OverlyRenderer
运行应用程序时,我看到一个没有OSM的空白层 您正在运行什么版本的iOS 由于苹果的应用程序传输安全(ATS)在默认情况下需要使用HTTPS 如果您想(或需要)使用HTTP,则必须编辑
Info.plist
,以允许特定(或全局)使用HTTP。更多详情请参见Xamarin's
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;
}