osmdroid 的 CopyrightOverlay.setCopyrightNotice() 是如何工作的?
How does osmdroid's CopyrightOverlay.setCopyrightNotice() work?
我像这样在我的地图中添加了版权声明:
/* add copyright overlay */
val copyrightOverlay = CopyrightOverlay(this)
copyrightOverlay.setCopyrightNotice("This doesn't do anything :(")
mapView.overlays.add(copyrightOverlay)
documentation 没有提到 setCopyrightNotice(String pCopyrightNotice)
应该做什么。
我希望它能以某种方式改变版权覆盖的文本。但如下图所示,叠加层仍然显示 © OpenStreetMap contributors
有谁知道这个方法应该怎么用?我错过了什么吗?
(我试图编辑该通知的原因是想找到一种向 OSM 捐款的方式,类似于 openstreetmap.org
上的覆盖图
您可以查看 source code :因为它是开源的。
我们可以看到setter应该设置文本:
public void setCopyrightNotice(final String pCopyrightNotice) {
mCopyrightNotice = pCopyrightNotice;
}
但是我们也可以看到draw方法从tile source获取了版权声明:
@Override
public void draw(Canvas canvas, MapView map, boolean shadow) {
setCopyrightNotice(map.getTileProvider().getTileSource().getCopyrightNotice());
draw(canvas, map.getProjection());
}
这实际上会覆盖您在每次绘制叠加层时设置的值。
我有点认为这是API中的一个错误。 setCopyrightNotice
方法不应该是 public,这只会造成混淆。
我建议全面实施您自己的版权声明 - 您可以保留原始来源并完全按照您想要的方式重现代码。
我像这样在我的地图中添加了版权声明:
/* add copyright overlay */
val copyrightOverlay = CopyrightOverlay(this)
copyrightOverlay.setCopyrightNotice("This doesn't do anything :(")
mapView.overlays.add(copyrightOverlay)
documentation 没有提到 setCopyrightNotice(String pCopyrightNotice)
应该做什么。
我希望它能以某种方式改变版权覆盖的文本。但如下图所示,叠加层仍然显示 © OpenStreetMap contributors
有谁知道这个方法应该怎么用?我错过了什么吗?
(我试图编辑该通知的原因是想找到一种向 OSM 捐款的方式,类似于 openstreetmap.org
上的覆盖图您可以查看 source code :因为它是开源的。
我们可以看到setter应该设置文本:
public void setCopyrightNotice(final String pCopyrightNotice) {
mCopyrightNotice = pCopyrightNotice;
}
但是我们也可以看到draw方法从tile source获取了版权声明:
@Override
public void draw(Canvas canvas, MapView map, boolean shadow) {
setCopyrightNotice(map.getTileProvider().getTileSource().getCopyrightNotice());
draw(canvas, map.getProjection());
}
这实际上会覆盖您在每次绘制叠加层时设置的值。
我有点认为这是API中的一个错误。 setCopyrightNotice
方法不应该是 public,这只会造成混淆。
我建议全面实施您自己的版权声明 - 您可以保留原始来源并完全按照您想要的方式重现代码。