腾讯地图SDK Android版开发 5 地图交互操作

前言

前文介绍了三个主题:创建显示地图;切换地图类型;显示定位。本文重点介绍地图交互操作及相关的类和接口。

  • 腾讯地图支持多种地图交互操作,用户可以通过手势或控件进行地图操作,以实现更好的地图浏览体验。另一方面开发者通过代码实现特定业务场景的地图交互。

  • 腾讯地图通过设定不同的地图状态,来改变地图视野。

  • 最后是不属于地图操作的地图事件,但是也很重要。

    • 比如地图加载完成事件,一些特定接口需要在地图加载完成后才能调用(在显示定位本文均有提及)。

控件介绍

控件介绍

腾讯地图提供一些基础的地图控件,包括LOGO、指南针、比例尺、定位按钮。

控件 功能 默认显示 默认位置
LOGO 可设置显示相对位置(左下,中下,右下,左上,中上,右上)
设置Logo的缩放比例
显示 右下角
指南针 设置是否显示,设置罗盘的填边 不显示 左上角
比例尺 设置是否显示,设置比例尺是否淡出,设置比例尺的显示相对位置位置 不显示 左下角
定位按钮 设置是否显示 不显示 右下角

接口

UiSettings 类用于操控地图控件,以定制自己想要的视图效果。UiSettings类中地图控件的接口:

  • LOGO
类型 方法 说明
void setLogoPosition(int logoAnchor) 设置Logo的显示位置
void setLogoPosition(int logoAnchor, int[] marginParams) 根据地图四个Anchor 模式(左上、左下、右下、右上)以及相应的Margins来设置Logo位置
void setLogoPositionWithMargin(int position, int top, int bottom, int left, int right) 设置Logo的显示位置,带偏移量,单位像素 设置Logo的显示位置
void setLogoScale(float logoScale) 设置Logo的缩放比例,比例范围(0.7~1.3)
void setLogoSize(int logoSize) 设置图标大小,暂时不生效
  • 指南针
类型 方法 说明
boolean isCompassEnabled() 获取当前是否开启罗盘控件
void setCompassEnabled(boolean flag) 设置是否显示指南针
void setCompassExtraPadding(int xPadding, int yPadding) 设置罗盘的填边
void setCompassExtraPadding(int padding) 设置罗盘的填边,只对Y轴生效
  • 比例尺
类型 方法 说明
boolean isScaleViewEnabled() 获取当前是否显示比例尺
void setScaleViewEnabled(boolean show) 设置当前是否显示比例尺
void setScaleViewFadeEnable(boolean enable) 设置比例尺是否淡出
void setScaleViewPosition(int position) 设置比例尺的显示位置
void setScaleViewPositionWithMargin(int position, int top, int bottom, int left, int right) 设置比例尺的显示位置,带偏移量,单位像素
  • 定位按钮
类型 方法 说明
boolean isMyLocationButtonEnabled() 获取当前是否显示定位控件
void setMyLocationButtonEnabled(boolean flag) 设置是否显示定位按钮

控件常量

TencentMapOptions类中的控件常量:

  • 定位
常量 说明
LOGO_POSITION_BOTTOM_LEFT 设置地图logo的显示位置:左下角
LOGO_POSITION_TOP_LEFT 设置地图logo的显示位置:左上角
LOGO_POSITION_TOP_CENTER 设置地图logo的显示位置:顶部居中
LOGO_POSITION_TOP_RIGHT 设置地图logo的显示位置:右上角
LOGO_POSITION_BOTTOM_RIGHT 设置地图logo的显示位置:右下角(默认)
LOGO_POSITION_BOTTOM_CENTER 设置地图logo的显示位置:底部居中
  • 比例尺
常量 说明
SCALEVIEW_POSITION_BOTTOM_LEFT 设置地图比例尺的显示位置:左下角,默认
SCALEVIEW_POSITION_TOP_LEFT 设置地图比例尺的显示位置:左上角
SCALEVIEW_POSITION_TOP_CENTER 设置地图比例尺的显示位置:顶部居中
SCALEVIEW_POSITION_TOP_RIGHT 设置地图比例尺的显示位置:右上角
SCALEVIEW_POSITION_BOTTOM_RIGHT 设置地图比例尺的显示位置:右下角
SCALEVIEW_POSITION_BOTTOM_CENTER 设置地图比例尺的显示位置:底部居中

地图控件点击事件

类型 接口 说明
static interface TencentMap.OnCompassClickedListener 当地图的罗盘被点击时的回调接口
static interface TencentMap.OnMyLocationClickListener 点击我的位置时的回调接口
类型 方法 说明
void setOnCompassClickedListener(TencentMap.OnCompassClickedListener onCompassClickedListener) 设置罗盘位按钮监听接口

示例代码

通过 TencentMap 类实现UiSettings 类对象的实例化:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值