Map AngularJS-范围搜索
我对AngularJS很陌生,但它绝对适合我的项目 这是我的问题:Map AngularJS-范围搜索,map,angularjs,range,marker,Map,Angularjs,Range,Marker,我对AngularJS很陌生,但它绝对适合我的项目 这是我的问题: 我的客户有一个静态编码地图(不是谷歌)。在这张地图上,我们有15家服装经销商(硬编码) 我的json文件: [ { "id": "2", "name": "Laden Dortmund", "zip": 12345, "stadt": "Dortmund", "land": "DE", "left": "200px", "top": "300px" }, { "id
我的客户有一个静态编码地图(不是谷歌)。在这张地图上,我们有15家服装经销商(硬编码) 我的json文件:
[
{
"id": "2",
"name": "Laden Dortmund",
"zip": 12345,
"stadt": "Dortmund",
"land": "DE",
"left": "200px",
"top": "300px"
},
{
"id": "1",
"name": "Laden Unna",
"zip": 45568
"stadt": "Unna",
"land": "DE",
"left": "250px",
"top": "400px"
}
]
等等……使用“左”和“顶”,我正在用记号笔标记我的地图:
<div class="map" ng-controller="DealerDetailListCtrl">
<a class="marker" id="{{marker.id}}" style="left:{{marker.left}};top:{{marker.top}}" ng-repeat="marker in dealer"></a>
</div>
这对所有条目都有效。现在,我们的客户需要对条目进行邮政编码搜索。比如:
-经销商1(邮政编码:45525)->应位于地图的该区域。
-经销商2(邮政编码:12345)->应位于地图的xx区域。 等等 我需要的是:
Angular JS是否可以有这样的搜索框:
<input type="text" name="postalcode" class="postalcode" ngRequired>
如果要搜索(例如)“45525”,我会得到该邮政编码中+/-的所有标记?也许每个条目都会得到两个新节点“RangeStart”(开始:40000)和“RangeEnd”(结束:50000),如果我搜索“45525”,所有条目都会显示出来,其中搜索词与范围一起插入
这可能吗?我当时正在烤苹果派,所以无法更快地与您联系,但您在评论中提到的定制过滤器也可能实现这一点
myApp.filter("zipFilter", function() { return function(markers, zipCode) {
var retMarkers = [];
var lowRange = parseInt(zipCode, 10) - 1000;
var highRange = parseInt(zipCode, 10) + 1000;
// console.log('low: ' + lowRange);
// console.log('high: ' + highRange);
// loop through all the markers
for(var i = 0, len = markers.length; i < len; ++i) {
var singleMarker = markers[i];
// if the marker falls within the range (+/- 1000)...
if(singleMarker.zip >= lowRange && singleMarker.zip <= highRange) {
retMarkers.push(singleMarker);
}
}
return retMarkers;
}});
myApp.filter(“zipFilter”,function(){返回函数(markers,zipCode){
var=[];
var lowRange=parseInt(zipCode,10)-1000;
var highRange=parseInt(zipCode,10)+1000;
//console.log('低:'+低范围);
//console.log('高:'+高范围);
//在所有的标记中循环
对于(变量i=0,len=markers.length;i 如果(singleMarker.zip>=lowlange&&singleMarker.zip)可以使用自定义过滤器?有人知道吗?您是否考虑在JSON中的每个标记对象中添加一个“zip”属性,以便“loaded Dortmund”的zip为23456,例如?该死,我不小心删除了这一行(JSON条目比这个示例长得多)。有一个zip属性…(将立即编辑)它工作得很好。我对它进行了一点修改。是否有可能在筛选器中添加“country”下拉列表?我得到了zipcode的输入和国家的“DE,AT,CH”下拉列表。我可以轻松地将countrymodal作为参数添加到筛选器中吗?它向我显示了一个“TypeError:无法读取变量“markers”的“undefined”的属性“length”。是的,这不应该是一个问题,我可以向您展示如何-您可以共享指向正在处理的代码的链接吗?(可能是JSFIDLE?)。