OSMdroid如何添加水印

时间:2018-06-20 15:08:37

标签: java android openstreetmap osmdroid

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

2 个答案:

答案 0 :(得分:2)

有一个内置的版权叠加层,用于根据当前磁贴来源显示通知。

编辑,示例代码在下面

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

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

答案 1 :(得分:0)

拥有布局文件后,只需向其中添加一个带有“ @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();