关于百度地图API和jqGrid踩到的坑

1、百度地图重新标记问题

  var map = new BMap.Map("map");
  ......
  var marker = new BMap.Marker(point);    // 创建标注
  map.addOverlay(marker);                 // 将标注添加到地图中

  根据需求,地图中添加一批标注之后,查询到新结果,需要把最新结果标注到地图中时,首先要将地图中已经存在的标注全部移除。

 map.clearOverlays();                               //一次性移出之前全部标记

如不先执行移除命令直接添加新标注,会失败。结果依然显示之前标注。

2、jqGrid表格更新问题

//初始化表格:
var table_list = $("#page_table");

table_list.jqGrid({
                        data: myData,
                        datatype: "local", //本地数据
                        //url: '../API?q=ZSMain_Project.GetList',
                        // datatype: "json",
                        sortname: 'TaskID',
                        sortorder: "desc",

                       /*...省略部分代码...*/

});
//更新表格:
 table_list.jqGrid('clearGridData');                    //清理之前表格数据
 table_list.jqGrid('setGridParam', {
           //url: '../API?q=ZSMain_Project.GetList&PrjCity=' + prj_city,
            data: my_data,
            datatype: "local",
           // postData: { 'PrjName': prj_name }, //发送数据
            page: 1
        }).trigger("reloadGrid");                //重新载入

 

 更新之前不清理表格之前数据,更新失败,仍显示原先数据。

总结1、2两条教训,涉及更新问题,先清理,后更新。

----------以上↑------

原文地址:https://www.cnblogs.com/dyhao/p/9213730.html