2012-09-21 59 views
0

我需要在可滚动和可缩放的网格上显示一组标记的标记。像谷歌地图Android API,但没有实际的地图图像,只是用户界面。Android的自定义地图引擎

我使用谷歌地图禁用地图,但它有一个问题---它不能放大低于5米,而我可能需要放大到毫米级(标记可能是接近)。 Yandex Maps有类似的限制---即使我不使用它,我也无法缩放地图分辨率。

有什么建议吗?

+0

好吧,我只是写我自己的分量。 – aimozg

+0

您能否更详细地了解您是如何做到这一点的? – SaKet

+0

@SaKet查看答案 – aimozg

回答

1

我不能分享我的自定义渲染器的代码,所以这里有总体架构:

  1. 一个MapView的(扩展查看)与变焦性能和列表组件MapLayers

  2. A MapLayer抽象类与onClickrender方法。这个类有两个子类:

    2.1。一个GridLayer渲染方法取决于MapView的变焦

    2.2绘制网格。一个MarkerLayer类存储标记并呈现他们。

  3. 标记存储纬度经度并且还HashMap中的属性(如颜色,ID等)

  4. 要映射标记纬度经度MapView类“SX和y我用实例IProjector接口,目前 - 墨卡托投影机与维基百科

  5. 公式要渲染标记MarkerLayer使用MarkerRenderer抽象类的实例。我有两个MarkerRenderersSimpleMarkerRenderer,吸引圆圈(其冲程和填充颜色从标记截取的属性),和ImageMarkerRenderer,吸引从标记拍摄的图像(图像ID'小号属性

+0

谢谢。 @aimozg – SaKet