一、AMap.InfoWindowAdapter提供两个回调方法,如下:
1.getInfoWindow(Marker marker)-用于个性化定制信息窗口。如果这个方法返回一个view,则这个view会被用来当做整个信息窗口。如果这个方法返回null,则会是使用默认的信息窗口风格。
2.getInfoContents(Marker marker)-用于定制信息窗口的内容。该方法只有在getInfoWindow(Marker) 返回null时才会被调用。如果这个方法返回一个view,它将替代现有的默认的信息窗口。如果这个方法返回null,则会使用默认的信息窗口风格。
二、OnMapLoadedListener 地图加载成功事件回调
/**
* 监听amap地图加载成功事件回调
*/
@Override
public void onMapLoaded() {
// 设置所有maker显示在当前可视区域地图中
LatLngBounds bounds = new LatLngBounds.Builder()
.include(Constants.XIAN)
.include(Constants.CHENGDU)
.include(latlng)
.include(Constants.ZHENGZHOU)
.include(Constants.BEIJING)
.build();
aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10));
}
三、setOnMapLongClickListener 对amap添加长按地图事件监听器
/**
* 对长按地图事件回调
*/
@Override
public void onMapLongClick(LatLng point) {
mTapTextView.setText("long pressed, point=" + point);
}
四、OnCameraChangeListener 对amap添加移动地图事件监听器
/**
* 对正在移动地图事件回调
*/
@Override
public void onCameraChange(CameraPosition cameraPosition) {
mCameraTextView.setText("onCameraChange:" + cameraPosition.toString());
}
/**
* 对移动地图结束事件回调
*/
@Override
public void onCameraChangeFinish(CameraPosition cameraPosition) {
mCameraTextView.setText("onCameraChangeFinish:" + cameraPosition.toString());
//*******************************************************
VisibleRegion visibleRegion = aMap.getProjection().getVisibleRegion(); // 获取可视区域、
LatLngBounds latLngBounds = visibleRegion.latLngBounds;// 获取可视区域的Bounds
boolean isContain = latLngBounds.contains(Constants.SHANGHAI);// 判断上海经纬度是否包括在当前地图可见区域
//*********************************************************
if (isContain) {
ToastUtil.show(EventsActivity.this, "上海市在地图当前可见区域内");
} else {
ToastUtil.show(EventsActivity.this, "上海市超出地图当前可见区域");
}
}
五、OnMarkerDragListener 设置marker可拖拽事件监听器
/**
* 监听拖动marker时事件回调
*/
@Override
public void onMarkerDrag(Marker marker) {
String curDes = marker.getTitle() + "拖动时当前位置:(lat,lng)\n("
+ marker.getPosition().latitude + ","
+ marker.getPosition().longitude + ")";
markerText.setText(curDes);
}
/**
* 监听拖动marker结束事件回调
*/
@Override
public void onMarkerDragEnd(Marker marker) {
markerText.setText(marker.getTitle() + "停止拖动");
}
/**
* 监听开始拖动marker事件回调
*/
@Override
public void onMarkerDragStart(Marker marker) {
markerText.setText(marker.getTitle() + "开始拖动");
}
六、OnMarkerClickListener 设置点击marker事件监听器
/**
* 对marker标注点点击响应事件
*/
@Override
public boolean onMarkerClick(final Marker marker) {
if (marker.equals(marker2)) {
if (aMap != null) {
jumpPoint(marker);
}
}
markerText.setText("你点击的是" + marker.getTitle());
return false;
}
七、InfoWindowClickListener 设置点击infoWindow事件监听器
/**
* 监听点击infowindow窗口事件回调
*/
@Override
public void onInfoWindowClick(Marker marker) {
ToastUtil.show(this, "你点击了infoWindow窗口" + marker.getTitle());
}










网友评论