对于地图api,最基本也最重要的就是map服务了,而map的用户交互也是很重要的,接下来我们探讨一下如何使用api中map的UIsettings:
Amap提供的UI基本上有以下几种:
LocationButton,Logo,ZoomControls,
Compass,ScaleControls,
ZoomGestures,TiltGestures,
RotateGestures.
》Logo(高德地图的标志):
对于高德地图的logo,我们通过UIsettings.setLogoPosition(AMapOptions)来设置LOGO的位置:
对于其中的的AMapOptions,有几个常量来表示图标的位置,分别表示底线左边,中心和右边:
AMapOptions.LOGO_POSITION_BOTTOM_LEFT;
AMapOptions.LOGO_POSITION_BOTTOM_CENTER;
AMapOptions.LOGO_POSITION_BOTTOM_RIGHT;
》LocationButton(定位按钮)
通过UISettings.setMyLocationButtonEnabled(boolean)来设置是否显示定位按钮;
除此之外,还可以通过UISettings.setMyLocationEnabled(boolean)来设置是否能使用定位服务;
》ZoomControls(缩放按钮)
通过UISettings.setZoomControlsEnabled(boolean)来设置缩放按钮是否能显示
》Compass(指南针)
通过iUISettings.setCompassedEnabled(boolean enabled)来设置是否显示和使用指南针:
》ScaleControls(比例尺)
通过UISettings.setScaleControlEnabled(Boolean enabled)来设置是否显示启用比例尺功能:
》ZoomGestures(缩放手势)
通过UISettings.setZoomGesturesEnabled(boolean)设置缩放手势是否启用:
》TiltGestures(倾斜手势)
通过UISettings.setTiltGesturesEnabled(boolean)设置倾斜手势是否启用:
》RotateGestures旋转手势:
通过UISettings.setRotateGesturesEnabled(boolean)设置倾斜手势是否启用:
除此之外,Amap哈有几个常用的监听器:
AMap.setOnMapClickListener(OnMapCLickListener):点击事件
AMap.setOnMapLongClickListener(OnMaplongClickListener):长按事件
AMap.setOnCameraChangeListener(OnCameraChangeListener):视图变换事件
我们看Demo中给出的实例:
/**
* 对点击地图事件响应
*/
@Override
public void onMapClick(LatLng point) {
mTapTextView.setText("tapped, point=" + point);
}
/**
* 对长按地图事件响应
*/
@Override
public void onMapLongClick(LatLng point) {
mTapTextView.setText("long pressed, point=" + point);
}
/**
* 对移动地图事件响应
*/
@Override
public void onCameraChange(final CameraPosition position) {
mCameraTextView.setText("onCameraChange:" + position.toString());
}
@Override
public void onCameraChangeFinish(CameraPosition cameraPosition) {
mCameraTextView.setText("onCameraChangeFinish:"
+ cameraPosition.toString());
}
}