背景:

ArcGIS Runtime SDK for Android中一个展示地图的示例(https://developers.arcgis.com/android/latest/sample-code/display-map.htm),如下:

public class MainActivity extends AppCompatActivity {  private MapView mMapView;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    // inflate MapView from layout    mMapView = (MapView) findViewById(R.id.mapView);    // create a map with the BasemapType topographic    ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16);    // set the map to be displayed in this view    mMapView.setMap(map);  }  @Override  protected void onPause() {    super.onPause();    mMapView.pause();  }  @Override  protected void onResume() {    super.onResume();    mMapView.resume();  }  @Override  protected void onDestroy() {    super.onDestroy();    mMapView.dispose();  }}

运行完是这样的:

ArcGIS Runtime SDK for Android 100.x系列中如何去除水印和ESRI logo信息_第1张图片

其中“Licensed For Developer Use Only”是水印,“Powered by Esri”是logo,如果不想在自己的地图视图显示水印和logo,怎样去除呢,方法如下:

1、ArcGIS Runtime SDK for Android 100.x系列中如何去除水印

在自己的代码中,在调用ArcGIS Runtime SDK for Android 的api代码段之前加上下述语句,

   // license with a license keyArcGISRuntimeEnvironment.setLicense("runtimelite,1000,rud4449636536,none,NKMFA0PL4S0DRJE15166");

即可在运行程序后清除水印,清除后的效果图如下:

ArcGIS Runtime SDK for Android 100.x系列中如何去除水印和ESRI logo信息_第2张图片

但是,此时在我们的地图视图下方还能看到“Powered by Esri”logo,如何去除请往下看;

2、ArcGIS Runtime SDK for Android 100.x系列中如何去除ESRI logo信息

调用MapView的setAttributionTextVisible()这一方法,如下:

mMapView.setAttributionTextVisible(false);

注:在10.2.x系列上直接调用MapView的setEsriLogoVisible方法即可。

设置后,再次运行应用程序。

ArcGIS Runtime SDK for Android 100.x系列中如何去除水印和ESRI logo信息_第3张图片

最终我们的清除水印和logo的代码如下:

public class MainActivity extends AppCompatActivity {  private MapView mMapView;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    // license with a license key    ArcGISRuntimeEnvironment.setLicense("runtimelite,1000,rud4449636536,none,NKMFA0PL4S0DRJE15166");   // inflate MapView from layout    mMapView = (MapView) findViewById(R.id.mapView);    mMapView.setAttributionTextVisible(false);   // create a map with the BasemapType topographic    ArcGISMap map = new ArcGISMap(Basemap.Type.TOPOGRAPHIC, 34.056295, -117.195800, 16);   // set the map to be displayed in this view    mMapView.setMap(map);  }  @Override  protected void onPause() {    super.onPause();    mMapView.pause();  }  @Override  protected void onResume() {    super.onResume();    mMapView.resume();  }  @Override  protected void onDestroy() {    super.onDestroy();    mMapView.dispose();  }}

原理解析:

在上述中清除水印调用了ArcGISRuntimeEnvironment的setLicense方法,通过在setLicense中传入我们的licenseKey,也就是授权码就能够成功去除水印,在上述示例中的licenseKey我是传入自己的Lite级别的licenseKey。

在你可以在生产中使用你的应用程序之前,需要授权ArcGIS Runtime应用程序。Esri提供了四个ArcGIS Runtime许可级别:Lite、Basic、Standard和Advanced。每增加一个级别,就会为应用程序用户提供更多的可用功能。其中Lite级别是免费的,可以登录ArcGIS for Developers帐户,转到仪表板,将Runtime Lite许可证密钥复制到应用程序中,即可去除水印,但是Lite级别能够支持的功能是有限,如果你的应用程序还需要用到更高级的功能,那就需要购买其它级别的Runtime许可了,可以参考链接:https://developers.arcgis.com/android/latest/guide/license-your-app.htm

如果是想获取Lite级别的Runtime licenseKey如何获取呢?请参考这个链接:https://developers.arcgis.com/pricing/licensing/

(提示:在下述示意图中需要注册developer账号,我是之前注册过所以直接输入账户名和密码即可登录ArcGIS for Developer。)

 

更多相关文章

  1. Qt之Qt5.7开发Android应用程序小试牛刀
  2. Android应用程序获取ROOT权限的方法 (基础篇)
  3. Android模仿乐淘的应用程序分析源码
  4. android应用程序组件之间的通讯
  5. android 学习五 设置应用程序全屏(没有状态栏和标题栏)
  6. Android应用程序组件Content Provider在应用程序之间共享数据的
  7. 使android应用程序不出现在应用管理中
  8. Android 服务的五大级别
  9. Android笔记四 虚拟机Dalvik、Android各种java包功能、Android相

随机推荐

  1. Android 6.0 去掉锁屏
  2. Android小项目之底部导航(RadioButton&Fr
  3. Android Relativelayout布局属性
  4. 【Android 应用开发】 Android APK 反编
  5. Android 手势滑动,多点触摸放大缩小图片
  6. Android 禁止转屏的方法
  7. PackageManagerService的启动过程分析
  8. android的进程与线程
  9. Mac Error Create Android Project - “E
  10. android 设置缓存工具类