我一直在尝试根据位置过滤建议但不成功。 我想要显示所有地点,城市,城镇,乡村:印度
我应该对下面的代码进行哪些更改?
<script type="text/javascript">
$("#myinput")
.suggest({
"key": "my key",
filter: '(any type:/location/location )'
})
.bind("fb-select", function(e, data) {
alert(data.name + ", " + data.id + " (" + data['n:type'].name + ")");
});
</script>
答案 0 :(得分:1)
使用搜索过滤器执行此操作的方法是使用part_of
Metaschema predicate,如下所示:
<script type="text/javascript">
$("#myinput")
.suggest({
"key": "my key",
filter: '(all type:/location/location part_of:/m/03rk0)'
})
.bind("fb-select", function(e, data) {
alert(data.name + ", " + data.id + " (" + data['n:type'].name + ")");
});
</script>
part_of
Metaschema谓词是及物性的,这意味着它与part_of
印度(/ m / 03rk0)或part_of
的{{1}}印度part_of
位置的Freebase主题相匹配等等。
答案 1 :(得分:1)
Shawn的方法适用于正确设置了包含属性的主题,但我不确定其覆盖范围有多好。我怀疑简单的地理数据(lat / lon)覆盖范围更好。如果你想过滤距离印度质心的距离,你可以这样做:
filter=(all type:/location/location (within radius:500km+lon:82.7948 lat:21.7866))
请注意,这是非常粗略记录的,我不确定这是否意味着它是全新的,文档没有完成或弃用,即将消失。