我正在使用SDK MonoForAndroid。 我目前正在尝试将我自己的地图显示为Android中谷歌地图的叠加层。
例如:谷歌地图并没有很好地映射我的大学,我有一张我的大学地图,我想要坚持谷歌地图。
我研究了一些方法,例如:
1)将地图显示为图像。 由于大学是一个非常大的地方,地图是详细的。位图的图像限制是16MB,我想加载大约50MB的图像。所以这不是一个真正的选择,但它会导致选项二。
2)显示平铺的图像。 这似乎是更常见的方法。但是我找不到任何关于它如何在地图上绘制的好例子。我可以找到很多关于如何剪切图像的例子,只是没有在地图上绘制它。我不知道如何处理不同级别的缩放,因为需要不同的地图细节。
3)将矩形绘制为图块并使用带有图像的bitmapShader的绘画。
我找不到的东西,但可能很好:
4)是否有用于绘制平铺位图的平铺工具?
5)绘制矢量图像。
我只想以最有效/最简单的方式来做这件事
答案 0 :(得分:0)
您是否花了很多时间查看Google Maps API?我知道在iOS上至少MapKit框架会为你处理大部分内容,而且我很确定Android会有类似的东西。
您应该始终开始寻找可以保持简单的最高级API。如果你已经在考虑位图大小和生成图块,那么你可能会让自己太难了。
这是一个教程,看起来像是一个很好的开始,包括设置,并使用MapView和Mono for Android添加叠加层: http://docs.xamarin.com/android/tutorials/Maps_and_Location/Part_2_-_Maps_API
一旦你的MapView工作了,那里还有很多其他资源应该包括如何添加不同类型的叠加层(路径,点等) - 但你可能会发现更多Java示例,所以你必须自己将它转换为Mono C#。