繁体   English   中英

将脱机地图源与Monotouch的Route-me绑定结合使用

[英]Using offline map sources with Monotouch's Route-me binding

我正在尝试让route-me显示离线地图,该地图已捆绑或在应用程序安装后下载。 我正在使用route-me绑定示例项目来立即完成工作。 我还使用了原始route-me repo的SampleMap项目中的mbtiles文件。 我将文件复制到项目的根目录,并将其构建操作设置为BundleResource (这是我认为合适的方法)。 之后,我将代码更改为:

public override void ViewDidLoad ()
{ 
    base.ViewDidLoad ();

    RMDBMapSource dbSource = new RMDBMapSource ("Philadelphia.mbtiles");

    MapView = new RMMapView(View.Frame, dbSource.Handle);
    MapView.AutoresizingMask = UIViewAutoresizing.FlexibleDimensions;

    if (UIScreen.MainScreen.Scale > 1.0)
        MapView.AdjustTilesForRetinaDisplay = true;

    Add (MapView);
}

但是没有运气。 应用程序在模拟器中运行,但仅显示灰色背景。 所以我需要有人帮助我,告诉我我做错了什么。 我需要在本周完成这项工作,因为下周是项目的截止日期。 因此,任何帮助将不胜感激。

我本人实际上并没有使用过脱机磁贴,但是基于此线程 ,您似乎可能需要将RMDBMapSource放入RMMapContents的实例中,而不是直接放入MapView中。 所以我想Xamarin就是这样的:

RMDBMapSource dbSource = new RMDBMapSource ("Philadelphia.mbtiles");

MapView = new RMMapView(View.Frame, new IntPtr());

RMMapContents contents = new RMMapContents (MapView.Handle, dbSource.Handle);

假定您也有RMMapContents的包装绑定,从外观上看,该绑定项目默认情况下不包含。 您需要放入至少定义构造函数的包装器。

该页面看起来像在底部提供了类似的代码(在Obj-C中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM