OSMdroid如何添加水印

OSMdroid how to add watermark

我正在创建一个免费的 Android 应用程序,并且我正在使用 OpenStreetMap(OSMdroid 库)。我有个问题。在网页上:https://www.openstreetmap.org/copyright 我读过,我应该在地图 activity 的一角放一段文字(@OpenStreetMap 贡献者)。 这该怎么做? 我希望我的应用符合 OSM 许可证。 此致

当您拥有布局文件后,只需向其中添加带有“@OpenStreetMap 贡献者”的 TextView。 (我建议使用 RelativeLayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <org.osmdroid.views.MapView android:id="@+id/map"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:text="OpenStreetMap Contributors" />
</RelativeLayout>

我在其他应用程序中看到,在启动时它们都会显示此内容,几秒钟后它会逐渐消失,因此您可以为此使用延迟动画。

textView.animate().setStartDelay(3000).alpha(0).setDuration(1000).start();

内置版权叠加层,用于根据当前图块来源显示通知。

编辑,示例代码如下

//Copyright overlay
mCopyrightOverlay = new CopyrightOverlay(context);
mMapView.getOverlays().add(this.mCopyrightOverlay);

基本上,无论当前图块源是什么,都会绘制文本叠加。