关于百度地图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两条教训,涉及更新问题,先清理,后更新。
----------以上↑------
斩后知