我一直在尝试将该示例用于naxam.mapbox.ios,如下所述:https://blogs.naxam.net/using-mapbox-in-xamarin-ios-FFA9BDEE13F4
我在MacBook Pro上使用的是Visual Studio/Xamarin 8.6.5和MacOS Catalina 10.15.4。 我将NuGet包naxam.mapbox.iOS 5.4.0和xamarin.essentials 1.5.3.2添加到我的项目中。 我在mapbox.com上创建了一个帐户和一个用于项目的访问令牌,我将其作为MGLAccountManager.AccessToken属性添加到info.plist文件中。 该项目是使用iOS单视图应用程序模板创建的。 最后,我在我的iOS构建中的附加mtouch参数中添加了--registrar:static参数。
我将博客文章的第一个片段添加到我的项目中,如下所示:
namespace MapboxSingleView
{
public partial class ViewController : UIViewController
{
public ViewController(IntPtr handle) : base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
var map = new MGLMapView(View.Bounds, new NSUrl("mapbox://styles/naxamtest/cj5kin5x21li42soxdx3mb1yt"));
View.AddSubview(map);
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
}
}
}
尝试使用debug->在我的模拟器中运行这个程序; iPhone11 iOS 13.5显示了一个空白/白色页面,左下角只有Mapbox徽标,但根本没有实际地图显示。
尝试不使用NSUrl或添加地图中心&; 所描述的缩放级别片段也没有帮助。 我试着联系纳萨姆,但到目前为止还没有收到他们的任何回应。
我错过了什么?
您可以看到Mapbox徽标的事实表明您已经正确地完成了安装。 空白的白色页面通常归结为访问令牌的问题。 你说你加了
MGLAccountManager.AccessToken
到您的info.plist文件中。 教程页面上链接中的gif显示,如果您要在info.plist文件中添加条目,那么您只需添加:
MGLAccountManager (with a value of <Your Mapbox access token>)
那份文件。 如果希望在代码中添加访问代码,则使用:
MGLAccountManager.AccessToken = "<Your Mapbox access token>"
因此它的变化取决于您是想在info.plist文件中输入代码,还是想在自己的代码中作为一行输入代码。