在YQL geo.places中搜索四个字段

时间:2014-11-11 10:13:05

标签: geolocation yahoo yql

我们目前正在使用YQL查询英国城镇的地理数据。目前,我们可以使用以下查询来查找名为Boston的所有城镇:

select * from geo.places where text="boston" and placeTypeName="Town"

Demo

问题是,我们希望指定县和国家来生成更具体的结果。我尝试了以下查询,但它返回0结果:

select * from geo.places where (text="boston" and placeTypeName="Town") and (text="lincolnshire" and placeTypeName="County")

Demo

如何查询3种字段类型以返回我需要的结果?基本上,我们想查询以下字段:

textplaceTypeName="Town"
textplaceTypeName="County"
textplaceTypeName="Country"

1 个答案:

答案 0 :(得分:0)

这可能是一个选项: https://developer.yahoo.com/blogs/ydnsevenblog/solving-location-based-services-needs-yahoo-other-technology-7952.html

提到: 将文本转换为位置 您还可以使用以下代码将文本(名称)转换为位置:

yqlgeo.get('paris,fr',function(o){

alert(o.place.name+' ('+
o.place.centroid.latitude+','+
o.place.centroid.longitude+
')');

})

此包装调用使用我们的Placemaker服务,并自动消除歧义。这意味着巴黎是法国巴黎,而不是巴黎希尔顿;伦敦是英国的伦敦,而不是杰克伦敦。