美文网首页
AMap终结

AMap终结

作者: 涛涛123759 | 来源:发表于2017-01-18 10:44 被阅读44次

一、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());
}

相关文章

网友评论

      本文标题:AMap终结

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