1
3
@Mker给出了一个很好的开始:
下面是一个示例代码:
用法:
但如果您试图移动多边形,可能会感到困惑-位图不想移动:
要避免这种情况,应计算着色器的偏移:
结果:
|
2
0
是的,这是可能的。 有一些潜在的解决方案。 1) 假设有人做了一个满足您需求的kml文件,那么可以使用osmbonuspack直接导入kml文件。 2) 通过编程自己制作。所以你有一些任务。 a) 将多边形作为覆盖 b) 将网格作为覆盖 c) 按该顺序将它们添加到地图视图中。这将使网格位于多边形的顶部。 现在来看细节。制作多边形很简单,所以这里不再赘述。 制作网格也不太难。您需要知道网格的边界,然后从东、西边界以北边界到南边界的一定间隔放置线。然后对南北线执行相反的操作。在日期线、赤道和两极有特殊情况,请记住这一点。 在这种情况下,计算线间隔有些简单,您可以用两种方法来处理。使用固定的十进制度数间隔或基于缩放级别进行计算。后面的部分更难,但通常会提供更好的可视化效果(放大时,网格会重新绘制,在该缩放级别看起来更合适)。 重要的是,使用osmbonuspack和osmdroid,如果给出的覆盖线超出了视图的边界(如果硬件加速关闭),则可能会出现内存不足的错误。如果硬件加速打开,那么如果起点和终点都偏离屏幕一定的距离,则可能根本不会显示线条。长话短说,对于相对较小的距离,你应该很好,否则,你必须在地图平移和缩放的视图边界处进行剪辑。 我用osmbonuspack做了类似的事情,用于显示随着放大和平移而调整的横向/纵向网格线(这意味着间隔根据缩放级别进行调整)。如果这是一个需求,那么您可能只需要重用代码,它基本上计算出网格的每一条线的距离和位置。 |
3
0
现在,如果您只想将栅格绘制为图案(没有关于栅格线位置的约束),应该有一个简单的替代方法,即使用“着色器”:
完整示例: http://code.tutsplus.com/tutorials/android-sdk-drawing-with-pattern-fills--mobile-19527 坏消息是,没有多边形填充颜料的吸气剂。好消息是,属性是受保护的,不是私有的。 因此,您可以将Polygon子类化,并添加getter:
|
Abhilash Das · 输入文本时,编辑文本与工具栏重叠 1 年前 |
Community wiki · 局部变量可能尚未初始化 1 年前 |
jvargas · 如何获取上个月的第一天和最后一天以及一年的第一天 1 年前 |