高德地图SDK Android版开发 5 地图交互操作

前言

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

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

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

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

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

控件

控件介绍

高德地图提供一些基础的地图控件,包括LOGO、指南针、比例尺和缩放按钮和定位按钮。

控件 功能 默认显示 默认位置
LOGO 可设置显示相对位置和边距
(左下角,底部居中,右下角)
显示 左下角
指南针 设置是否显示 不显示 左上角
比例尺 设置是否显示 不显示 左下角
缩放按钮 设置是否显示,可设置显示相对位置
(地图右边居中、地图右下角)
显示 右下角
定位按钮 设置是否显示 不显示 右上角

接口

UiSettings

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

类型 方法 说明
int getLogoPosition() 获取“高德地图”Logo的位置。
void setLogoPosition(int position) 设置“高德地图”Logo的位置。
void setLogoLeftMargin(int pixels) 设置Logo左边界距离屏幕左侧的边距。
void setLogoBottomMargin(int pixels) 设置Logo下边界距离屏幕底部的边距。
boolean isCompassEnabled() 返回指南针控件是否可见。
void setCompassEnabled(boolean enabled) 设置指南针是否可见。
boolean isScaleControlsEnabled() 返回比例尺控件是否可见。
void setScaleControlsEnabled(boolean enabled) 设置比例尺控件是否可见
boolean isZoomControlsEnabled() 返回缩放按钮是否可见。
void setZoomControlsEnabled(boolean enabled) 设置缩放按钮是否可见。
int getZoomPosition() 获取缩放按钮的位置。
void setZoomPosition(int position) 设置缩放按钮的位置。
boolean isMyLocationButtonEnabled() 返回定位按钮是否可见。
void setMyLocationButtonEnabled(boolean enabled) 设置定位按钮是否可见。

AMapOptions

AMapOptions中的控件常量:

常量 说明
LOGO_POSITION_BOTTOM_LEFT Logo位置(地图左下角)
LOGO_POSITION_BOTTOM_CENTER Logo位置(地图底部居中)
LOGO_POSITION_BOTTOM_RIGHT Logo位置(地图右下角)
LOGO_MARGIN_LEFT LOGO边缘MARGIN(左边)
LOGO_MARGIN_RIGHT LOGO边缘MARGIN(右边)
LOGO_MARGIN_BOTTOM LOGO边缘MARGIN(底部)
ZOOM_POSITION_RIGHT_CENTER 缩放按钮位置常量(地图右边居中)
ZOOM_POSITION_RIGHT_BUTTOM 缩放按钮位置常量(地图右下角)

示例代码

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

UiSettings uiSettings = map.getUiSettings();

Logo

// 获取Logo位置
int position = uiSettings.getLogoPosition();
// 设置Logo位置
position = AMapOptions.LOGO_POSITION_BOTTOM_RIGHT;
uiSettings.setLogoPosition(position);

uiSettings.setLogoLeftMargin(10);
uiSettings.setLogoBottomMargin(10);

指南针

// 获取是否允许指南针
// boolean enabled = uiSettings.isCompassEnabled();
// 设置是否允许指南针
uiSettings.setCompassEnabled(true);

比例尺

// 获取比例尺控件是否显示
// boolean isShow = uiSettings.isScaleControlsEnabled();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值