dictionary - AngularJS - 范围搜索

标签 dictionary angularjs range marker

我对 AngularJS 还很陌生,但它绝对适合我的项目。

这是我的问题:
我的客户有一个静态编码 map (不是谷歌)。在此 map 上,我们有 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"
}
]

等等...
使用“左”和“上”,我用标记标记我的 map :

<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>  

这对所有条目都有效。
现在我们的客户想要通过邮政编码搜索条目。喜欢:
- Reseller1(邮政编码:45525)-> 应放置在 map 的该区域。
- Reseller2(邮政编码:12345)-> 应放置在 map 的 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;
}});

在此处查看它在线运行 http://jsfiddle.net/CWcxL/7/并尝试输入“44100”,看看它如何根据一系列邮政编码过滤出结果(在本例中,输入的内容为 +/- 1000)。

祝你好运!

关于dictionary - AngularJS - 范围搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14093264/

相关文章:

python - 如果字典中的多个键设置为“无”,如何检查它们是否存在?

javascript - 如何通过 Angular 4 中的 App Component 访问私有(private)属性?

r - 多个范围的子集

java - 生成无溢出的安全随机 double

range - HLSL 中的寄存器范围?

python - 在磁盘上存储 Python 字典的有效方法?

c++ - 有条件地将映射键复制到 vector

java - 如何以MapReduce格式在一行中打印一些 token ?

javascript - Angular JS调整大小操作

javascript - AngularJS $q promise 不会按预期工作