Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android自定义地图引擎_Android_Map - Fatal编程技术网

Android自定义地图引擎

Android自定义地图引擎,android,map,Android,Map,我需要在可滚动和可缩放的网格上显示一组标记。类似于谷歌地图Android API,但没有实际的地图图像,只有UI 我正在使用禁用地图的谷歌地图,但它有一个问题——它不能放大到5米以下,而我可能需要缩小到毫米级(标记可能很近)。Yandex地图也有类似的限制——即使我不使用它,我也不能放大到地图分辨率之外 有什么建议吗?我无法共享自定义渲染器的代码,因此以下是通用架构: 地图视图(扩展视图)组件,具有平移和缩放属性和地图层列表 带有onClick和render方法的MapLayer抽象类。此类有两

我需要在可滚动和可缩放的网格上显示一组标记。类似于谷歌地图Android API,但没有实际的地图图像,只有UI

我正在使用禁用地图的谷歌地图,但它有一个问题——它不能放大到5米以下,而我可能需要缩小到毫米级(标记可能很近)。Yandex地图也有类似的限制——即使我不使用它,我也不能放大到地图分辨率之外


有什么建议吗?

我无法共享自定义渲染器的代码,因此以下是通用架构:

  • 地图视图(扩展视图)组件,具有平移缩放属性和地图层列表

  • 带有onClickrender方法的MapLayer抽象类。此类有两个子类:

    2.1。一个GridLayer类,它的渲染方法根据MapView平移和缩放来绘制网格

    2.2。一个标记层类,它存储标记并呈现它们

  • 标记存储纬度经度,以及属性的哈希图(如颜色、id等)

  • 要将标记纬度经度映射到地图视图的x和y,我使用实例IProjector界面,当前使用的是带有维基百科公式的墨卡托投影仪

  • 要呈现MarkerMarkerLayer使用MarkerRenderer抽象类的实例。我有两个MarkerRendererSimpleMarkerRenderer,它画圆圈(它们的笔划和填充颜色取自Marker属性图像MarkerRenderer,它画图像(图像ID取自Marker属性


  • 嗯,我刚刚写了我自己的组件。你能解释一下你是怎么做到的吗?