-1

您好,我正在开发一个应用程序,其中 .jpg 图像将用作地图。我正在为我大学附近互联网连接太低的徒步旅行地点开发此应用程序。

因此,仅使用预先保存的图像作为地图和 GPS,我希望让用户导航。我想知道如何显示可以平移和缩放的图像。我还希望在图像上添加一个叠加层以显示他的当前位置。.

请给一个简短的想法....

4

1 回答 1

1

欢迎使用 Stack Overflow——这当然可以通过 Google 地图实现。您可以告诉地图为您加载图像——为每个图像提供边界角。

不是一个容易解决的问题,因为有很多很多活动部件:

  1. 最简单的部分实际上是获取带有地理参考角点的图像——最简单的格式可能是 GeoTIFF(或者只是一个列出角点的 XML)
  2. 您必须管理图像缓存,一次加载太多图像,您将耗尽所有可用内存
  3. 您必须监控每个平移/缩放/等的地图以适当地加载/卸载图像。理想情况下,当您缩小并逐渐放入越来越高分辨率的图像时,您会加载低分辨率图像

这是如何实现的?嗯 - 这是最难的部分。您基本上需要扩展Google Map 的 Overlay 类 并覆盖该draw方法。

  1. draw作为方法的一部分,您将图像(以及图像位图本身)的角点提供给地图
  2. 当图像在视图中时,加载它,当它不在视图中时,卸载它。
  3. 当您加载/卸载图像时,调用postInvalidate地图视图以强制它重新绘制图块。

值得注意的是,谷歌地图会缓存一些图像——如果你的大学校园足够小,你可能可以将整个图像放入缓存中。那么你根本不需要做任何花哨的工作。

于 2012-12-28T04:24:43.587 回答