美文网首页ArcGIS runtime for Android
Arcgis runtime for Android 100.5

Arcgis runtime for Android 100.5

作者: _执_念__ | 来源:发表于2020-07-16 14:06 被阅读0次

(六) 自定义指南针

Arcgis 提供了定位功能,LocationDisplay类

  • 注意定位权限需要动态获取,这里不再演示

初始化定位

locationDisplay = mapView.locationDisplay//获取定位类
locationDisplay?.isShowLocation = true//展示定位圆点
locationDisplay?.isShowPingAnimation = true//展示ping 动画符号
locationDisplay?.isShowAccuracy = true//展示符号以指示位置水平精度的近似区域
locationDisplay?.autoPanMode = LocationDisplay.AutoPanMode.OFF  //设置模式
//点击定位按钮,开始定位  如果打开默认就开始定位,最好写在地图加载完成监听里
fab_my_location.setOnClickListener {
    locationDisplay?.startAsync()//开始定位
}
原始效果

定位模式 :AutoPanMode

OFF
用户位置符号会随位置变化而移动,但地图不会动
RECENTER
当用户位置处于当前地图范围内时候,用户位置符号会随位置变化而移动,但地图不会动;当用户位置处于地图边缘时候,地图会自动平移是用户的当前位置重新居于显示地图中心
NAVIGATION
车载导航 地图会随着用户移动而平移,随用户转弯而旋转
COMPASS_NAVIGATION
步行导航 地图会随着用户移动而平移,随用户转弯而旋转

定位监听

val mapPoint = locationDisplay?.mapLocation//得到地图坐标系的坐标
Log.e("test",mapPoint.toString())
val wgs84Point = locationDisplay?.location?.position  //得到Wgs84经纬度坐标
Log.e("test",wgs84Point.toString())

自定义定位符合样式

val bitmap = BitmapFactory.decodeResource(resources, R.mipmap.ic_my_location)
val bitmapDrawable = BitmapDrawable(resources, bitmap)
val defaultSymbol = PictureMarkerSymbol(bitmapDrawable);
defaultSymbol .loadAsync();
defaultSymbol .addDoneLoadingListener {
            locationDisplay?.defaultSymbol = defaultSymbol //设置默认符号
}

其他符合一样的方法

locationDisplay?.acquiringSymbol = acquiringSymbol ;//设置当前位置的填充符号
locationDisplay?.accuracySymbol = accuracySymbol ;//设置最后一个已知位置的标记符号
locationDisplay?.pingAnimationSymbol = pingAnimationSymbol ;//设置当前位置更新时候的动画
locationDisplay?.courseSymbol = courseSymbol ;//设置当前位置的路线符号
locationDisplay?.headingSymbol = headingSymbol ;//设置当前位置设备面对方向的符号
locationDisplay?.defaultSymbol = defaultSymbol ;//设置默认符号

注意

使用arcgis内置的某些地图时,定位显示会有偏差,经过对比坐标,发现是图层的偏差,定位是准确的,因此我才写了加载天地图的方法,定位显示是准确的 加载天地图传送门

(八) 业务图层管理

相关文章

  • Arcgis runtime for Android 100.5

    加载天地图说明一下,什么时候加载高德地图,什么时候加载天地图 使用原生定位或者使用arcgis提供的Locatio...

  • Arcgis runtime for Android 100.5

    加载高德地图 说明一下,什么时候加载高德地图,什么时候加载天地图 使用原生定位或者使用arcgis提供的Locat...

  • Arcgis runtime for Android 100.5

    (一) 环境配置 上篇介绍了开发环境的配置,现在写个最基本的用法 布局文件中使用 代码中 运行需要网络权限运行效果...

  • Arcgis runtime for Android 100.5

    引入 先在project 下的build.gradle中添加仓库 在app下的build.gradle中引入sdk...

  • Arcgis runtime for Android 100.5

    (二) 基本用例 在上篇基本用例中,已经说明了如何添加arcgis提供的地图,下面讲一下其他添加地图的方式 1. ...

  • Arcgis runtime for Android 100.5

    (五) 绘制点、线、面、文字、图片 Arcgis没有提供指南针控件,如果需要,可以自定义一个,很简单 去阿里图标库...

  • Arcgis runtime for Android 100.5

    (四) 地图基本操作 想要在地图上绘制,需要一个GraphicsOverlay临时绘制图层100版本单独把绘制图层...

  • Arcgis runtime for Android 100.5

    (三) 加载基础地图 地图上的监听事件 1. 地图加载完成监听 2. 地图缩放基本监听 3. 地图旋转监听 4. ...

  • Arcgis runtime for Android 100.5

    (七) GPS定位 我们已经知道,业务图层现在归ArcGISMap管理,因此,我们可以从它获取业务图层这里用一个a...

  • Arcgis runtime for Android 100.5

    (六) 自定义指南针 Arcgis 提供了定位功能,LocationDisplay类 注意定位权限需要动态获取,这...

网友评论

    本文标题:Arcgis runtime for Android 100.5

    本文链接:https://www.haomeiwen.com/subject/mqsphktx.html