arcgis js 学习之路(一)

2019-03-09  本文已影响0人  小菲菜

前言

很多东西学着学着就忘了,只能记录一下暂缓一下遗忘的速度,所以打算写一些文章,总结和分享一下学习内容。小白写手,有什么不对,大家尽管指出。

1.根据几何控制地图的中心点和缩放

map.centerAndZoom(mapPoint,factor) // mapPoint:缩放的中心点,factor:缩放因子
map.setExtend(extent) // extent:缩放范围

你可能会问,那范围怎么得到呢?
对于不同类型几何,arcgis js 提供了不同的接口

// type为graphic
var extent = graphicsUtils.graphicsExtent(graphic);
// type为多边形、多点等(单个点没有范围,不进行考虑)
var extent = geometry.getExtent()

那么范围怎么设置缩放因子呢?
extent.expand(factor) // 通过扩展或缩小给定范围就可以实现

var center;
switch(geometry.type){
  case 'polyline':
  case 'polygon':
     center = geometry.getExtent().getCenter();
      break;
  case 'extent':
    center = geometry.getCenter();
      break;
  case 'multiPoint':
    // 多点可能只包含一个点
    if(geometry.points.length>0){
      center = geometry.getExtent().getCenter();
    }else{
      center = geometry.getPoint(0);
    }
    break;
  default:
     center = geometry;
}
map.centerAt(center);
  1. 图层绘制顺序
    arcgis中图层是分为两类的:basemapLayers、其他非操作图层(动态图层、切片图层)和操作图层(featureLayer、graphicsLayer)。非操作图层的图层id保存在layerIds数组中,另外basemapLayer也会保存在basemapLayerIds中,但是这个不能进行修改;操作层图层的图层id保存在graphicsIds中。操作图层默认会在非操作图层的上面,arcgis js中图层绘制顺序是根据图层id来的,所以调整图层顺序就是调整图层id顺序,图层id索引值越大,则显示在最上面。
    arcgis js提供了两个接口来调整地图顺序:
    addLayer(layer,index)、reorderLayer(layer,position)
index description
index<0 绘制在图层最上方 (注意)
0<index<layerIds.length-1 绘制在layerIds[index]位置上
index>layerIds.length 绘制在图层最下方

注意:index取无限大时,其插入到图层id索引还是layerIds.length

index description
index<0 绘制在图层最下方 (注意)
0<index<layerIds.length-1 绘制在layerIds[index]位置上
index>layerIds.length 绘制在图层最上方

ps:调用reorderLayer会触发两个事件:
layer-reorder // 图层顺序发生改变后响应
layers-reordered // 所有图层顺序重排后响应

结束

暂时介绍这两点,后期学到一些新知识在进行总结和分享

参考来源:
weixin_42609240

上一篇 下一篇

猜你喜欢

热点阅读