我今天来谈谈地图的瓷砖!
对于个人项目和我公司的项目,我需要自定义很多我的 Xamarin.Forms.Maps。我在 Xamarin.Forms 中找到了本教程Custom Map Tiles,它只讨论了 Android 和 iOS(再讲一次......)但是,我很想知道它对 WinPhone 8.1 和/或 UWP 的工作原理。
另外,因为它使用Mapbox,我想知道这个项目是否真的可以长期使用?(我只要求那些对这个项目有所了解的人,因为我不知道只是通过阅读)。
据我所知,存在一些关于它的 nuget 包,但没有制作我真正想要的(我想在每个平台上定制瓷砖)
如果你有一个关于它的网站,或者你已经做过,你能给我一些指导或任何帮助吗?谢谢 !
编辑 1
我为 UWP 渲染器找到了此代码,但它不会更改地图图块..
[assembly: ExportRenderer(typeof(CustomMap), typeof(CustomMapRenderer))]
namespace MapTileProject.UWP.Renderer
{
public class CustomMapRenderer : MapRenderer
{
CustomMap customMap;
MapControl mapControl;
protected override void OnElementChanged(ElementChangedEventArgs<Map> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
customMap = e.NewElement as CustomMap;
mapControl = Control as MapControl;
UpdateTiles();
}
}
private void UpdateTiles()
{
Debug.WriteLine("BEGINING !");
HttpMapTileDataSource dataSource = new HttpMapTileDataSource(customMap.MapTileTemplate);
MapTileSource tileSource = new MapTileSource(dataSource);
mapControl.TileSources.Add(tileSource);
Debug.WriteLine("END !");
}
}
}