protected override NativeTileOverlay CreateNativeItem(TileLayer outerItem) { var opts = new TileOverlayOptions(); ITileProvider nativeTileProvider; if (outerItem.MakeTileUri != null) { nativeTileProvider = new DroidUrlTileLayer(outerItem.MakeTileUri, outerItem.TileSize); } else if (outerItem.TileImageSync != null) { nativeTileProvider = new DroidSyncTileLayer(outerItem.TileImageSync, outerItem.TileSize); } else { nativeTileProvider = new DroidAsyncTileLayer(outerItem.TileImageAsync, outerItem.TileSize); } var nativeTileOverlay = NativeMap.AddTileOverlay( opts.InvokeTileProvider(nativeTileProvider) .InvokeZIndex(outerItem.ZIndex)); // associate pin with marker for later lookup in event handlers outerItem.NativeObject = nativeTileOverlay; return(nativeTileOverlay); }
private void AddTrackerForOverlay(SKMapOverlay sharedOverlay) { OverlayTrackerTileProvider tracker = new OverlayTrackerTileProvider(Context, NativeMap, sharedOverlay); TileOverlayOptions overlayOptions = new TileOverlayOptions().InvokeTileProvider(tracker); TileOverlay overlay = NativeMap.AddTileOverlay(overlayOptions); tracker.TileOverlay = overlay; _TileTrackers.Add(tracker); }