spring mvc 获取ajax向controller传递的对象数据

基本需求:地图绘制多边形,获取多边形的extent并传给后台查询出范围内的数据后,在去前端遍历判断是否在多边形内。

前端获取范围并传入extentObj代码如下

 on(toolBar, "draw-complete", function (result) {
        //关闭绘图工具
        toolBar.deactivate();
        //获得绘图得到的面
        var geometry=result.geometry;
        var symbol;
        symbol = new SimpleFillSymbol();
        graphicDraw = new Graphic(geometry, symbol);

         console.log("ehehhe"+geometry.contains(new Point(103.78, 36.05)));

        //extendObj范围
         geometry = webMercatorUtils.webMercatorToGeographic(geometry)
        var extent =geometry.getExtent();
      extentObj={
        "Xmin":extent.xmin,
        "Ymin":extent.ymin,
        "Xmax":extent.xmax,
        "Ymax":extent.ymax
      }
      QueryincludeExtentData(extentObj,geometry);
      console.log("Xmin:"+extentObj.Xmin+" Ymin:"+extentObj.Ymin+" Xmax:"+extentObj.Xmax+" Ymax:"+extentObj.Ymax)
      map.graphics.add(graphicDraw);//框选结束后在地图上保留框选范围


    });


 /**
   *
   * @param extentObj 画出多边形后,获取其范围矩形传入后台
   * @param geometry 多边形面传入后用于判断点是否在多边形内
   * @constructor
   */
  function QueryincludeExtentData(extentObj,geometry) {
      var gridDataUrl = "/move/spatialQuery";
      $.getJSON(gridDataUrl,extentObj,function(data){//根据矩形范围查出初步值后判断这些值
      var gridData = data.gridData;
      for(var i = 0;i<gridData.length;i++){
        var point = new Point(gridData[i].grid_lng,gridData[i].grid_lat);
        if(geometry.contains(point)){

            var simpleMarkerSymbol = new SimpleMarkerSymbol();
            simpleMarkerSymbol.setColor(new Color([255,0,0,0.8]));
            simpleMarkerSymbol.setSize(10);

            drawResultPoint = new Graphic(point, simpleMarkerSymbol);
            pointGraphicLayer.add(drawResultPoint);
          }
      }
    });
  }

后台处理代码如下:

@ResponseBody
@RequestMapping("/spatialQuery")
public HxJsonObject spatialQuery(@RequestParam String Xmin, @RequestParam String Ymin,@RequestParam String Xmax, @RequestParam String Ymax){
        System.out.println("Xmin"+Xmin);
        //TODO
        return null;
    }
image.png

参考 # springmvc ajax传递对象至controller的方法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 有时候我常常觉得喜欢我的人好像就那么几个,不会再多了。好像我的磁场就只能吸引这几个人一样,我发朋友圈,点赞和评论的...
    Clare木槿阅读 407评论 1 3
  • 韩红的《谈何容易》,还是很好听的,比较喜欢听悲情的歌曲,很少听欢快的歌曲,是不是因为平时太欢快了,需要降降温,而一...
    OO碰到OO阅读 141评论 0 0
  • 7、华杉原文:人才:智信仁勇严和廉明。《孙子兵法》中提到的“智、信、仁、勇、严”,是企业领导可以对企业人才提出的非...
    正衍堂阅读 680评论 1 0
  • 夜里哭闹不停。原因可能是白天睡觉睡多了。 上午九点起床,10点睡觉。11点下去晒一会儿太阳。 下午两点下去玩,睡觉...
    hs双儿阅读 185评论 0 0
  • 为什么要削尖脑袋? 李强—传播精气神理论2017-08-23 10:22 有个俗语,削尖脑袋也要向上爬。 那为什么...
    新精气神文化阅读 655评论 0 0