[英]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.