一 .百度地图
1.在有很多点覆盖到地图上时,需要地图展示最佳视野,可将点都放入一个数组中,然后调用方法 setViewport
$scope.schoolPoints = [];
for(var i = 0 ;i<schools.length;i++){
var school = schools[i];
if(school.x!=0 && school.y!=0){
var schoolpoint = new BMap.Point(school.y,school.x);
$scope.schoolPoints.push(schoolpoint);
}
var index = i+1;
addSchoolMarker(school,index);
}
$scope.schoolMap.setViewport($scope.schoolPoints);
2.自定义弹窗 下面是点击地图上的覆盖物,弹出具体的自定义窗口
marker.addEventListener("click", function(){
marker.setIcon($scope.orangeIcon);
$scope.schoolMap.openInfoWindow(createInfoWin(school,index),point);
});
function createInfoWin(school,index){
var div = '';
if(school.level == '区重点'&& school.schoolType!='幼儿园'){
div = '<span class="feature f_border_green in_block">区重点</span>';
}
if(school.level == '市重点'&& school.schoolType!='幼儿园'){
div = '<span class="feature f_border_org in_block">市重点</span>';
}
if(school.level == '区重点'&& school.schoolType=='幼儿园'){
div = '<span class="feature f_border_green in_block">一级</span>';
}
if(school.level == '市重点'&& school.schoolType=='幼儿园'){
div = '<span class="feature f_border_org in_block">市示范</span>';
}
var infoContent = '<div class="pop_map in_block">\
<div class="pop_map_content">\
<p class="clearfix">\
<span class="left f14">'+index+'、</span> <a href="/school/'+school.id+'" target="_blank" class="left f14 mr_10">'+school.schoolName+'</a>'+div+'</p>\
<p class="pop_map_point">'+school.address+'</p>\
</div>\
<div class="pop_map_arrow"></div>\
</div>';
var infoWindow = new BMap.InfoWindow(infoContent);
return infoWindow;
}
二. anglars 自定义删除搜索条件指令
<school-filter-del params="params" displaytext="areaName" displayvalue="areaId" dictionary="dictionary.areas" field-name="areaId"></school-filter-del>
dictionary数据来源 displayvalue 是标签删除时对应的属性 displaytext 标签展示的属性 field-name 是参数集中删除哪个字段
指令逻辑代码
directive('schoolFilterDel', function($timeout, houselistService){ //搜索条件项:针对搜索值跟展示不相同的情况,比如根据value显示text
return {
restrict: 'EA',
replace: true,
scope: {
params: '=',
fieldName: '@',
displaytext:'@',
displayvalue:'@',
prefix: '@',
dictionary: '='
},
template: '<div class="filter mb_5" dui-if="params[fieldName]">\
<span class="left pt_2">{{prefix}}{{buildContent()}}</span>\
<a href="javascript:;" class="filterCkDel" ng-click="removeFilter()"></a>\
</div>',
link: function(scope, el, attrs){
//获取显示的内容
scope.buildContent = function(){
if(attrs.dictionary){ //针对参数值跟显示不一样的情况
console.log(attrs.dictionary)
console.log(scope.displaytext)
return houselistService.getNewTextByValue(scope.params[scope.fieldName], scope.dictionary,scope.displaytext,scope.displayvalue);
}else{ //直接显示值
return scope.params[scope.fieldName];
}
};
//删除条件
scope.removeFilter = function(){
scope.params[attrs.fieldName] = '';
//$('input.txtDate').change();
};
}
};
})
houselistService 中的代码
getNewTextByValue:function(value,list,displaytext,displayvalue){
if(!list || list.length == 0){
return '';
}
var result = '';
list.forEach(function(item){
if(item[displayvalue] === value){
result = item[displaytext];
return;
}
});
return result;
},
----
spring mvc+tomcat源码分析视频(链接复制在浏览器打开)
https://study.163.com/course/courseMain.htm?share=2&shareId=480000001919582&courseId=1209399899&_trace_c_p_k2_=6d81bc445e9c462ab8d6345e40f6b0bf