立交桥库使用
Overpasser library using
好的,我正在尝试使用 overpasser 库 https://github.com/zsoltk/overpasser,并且出于某种原因,当我尝试使用 github 页面中的默认示例时,它 return 什么都没有作为 OverpassQueryResult ,尝试放置不同的数据,并且 google 很多 - 没有有用的信息。
提前感谢您的帮助
OverpassQueryResult overpassQueryResult = search(new LatLngBounds(new LatLng(180, -180), new LatLng(180,-180)));
if(overpassQueryResult.elements!=null) {
Log.d(TAG, "overpassQueryResult size " + overpassQueryResult.elements.size());
} else {
Log.d(TAG, "overpassQueryResult is null ");
}
public OverpassQueryResult search(final LatLngBounds bounds) {
OverpassQuery query = new OverpassQuery()
.format(JSON)
.timeout(30)
.filterQuery()
.node()
.amenity("cafe")
.tagNot("access", "private")
.boundingBox(
bounds.southwest.latitude,
bounds.southwest.longitude,
bounds.northeast.latitude,
bounds.northeast.longitude
)
.end()
.output(100)
;
Log.d(TAG, query.build());
return interpret(query.build());
}
private OverpassQueryResult interpret(String query) {
try {
return OverpassServiceProvider.get().interpreter(query).execute().body();
} catch (Exception e) {
e.printStackTrace();
return new OverpassQueryResult();
}
}
此库自 4 年以来不再维护,并创建了无效的 Overpass QL 查询。错误的原因是 Overpass API 后端简单地拒绝了损坏的查询。
我在这里更详细地描述了这一点:https://github.com/zsoltk/overpasser/issues/19
也许您可以修复代码,或者更好地使用一些仍在维护的其他库。
好的,我正在尝试使用 overpasser 库 https://github.com/zsoltk/overpasser,并且出于某种原因,当我尝试使用 github 页面中的默认示例时,它 return 什么都没有作为 OverpassQueryResult ,尝试放置不同的数据,并且 google 很多 - 没有有用的信息。 提前感谢您的帮助
OverpassQueryResult overpassQueryResult = search(new LatLngBounds(new LatLng(180, -180), new LatLng(180,-180)));
if(overpassQueryResult.elements!=null) {
Log.d(TAG, "overpassQueryResult size " + overpassQueryResult.elements.size());
} else {
Log.d(TAG, "overpassQueryResult is null ");
}
public OverpassQueryResult search(final LatLngBounds bounds) {
OverpassQuery query = new OverpassQuery()
.format(JSON)
.timeout(30)
.filterQuery()
.node()
.amenity("cafe")
.tagNot("access", "private")
.boundingBox(
bounds.southwest.latitude,
bounds.southwest.longitude,
bounds.northeast.latitude,
bounds.northeast.longitude
)
.end()
.output(100)
;
Log.d(TAG, query.build());
return interpret(query.build());
}
private OverpassQueryResult interpret(String query) {
try {
return OverpassServiceProvider.get().interpreter(query).execute().body();
} catch (Exception e) {
e.printStackTrace();
return new OverpassQueryResult();
}
}
此库自 4 年以来不再维护,并创建了无效的 Overpass QL 查询。错误的原因是 Overpass API 后端简单地拒绝了损坏的查询。
我在这里更详细地描述了这一点:https://github.com/zsoltk/overpasser/issues/19
也许您可以修复代码,或者更好地使用一些仍在维护的其他库。