我正在尝试这样查询OpenStreetMap数据库
OverpassQuery query = new OverpassQuery()
.format(JSON)
.timeout(30)
.filterQuery()
.node()
.amenity("parking")
.tagNot("access", "private")
.boundingBox(
47.48047027491862, 19.039797484874725,
47.51331674014172, 19.07404761761427
)
.end()
.output(OutputVerbosity.BODY, OutputModificator.CENTER, OutputOrder.QT, 100)
;
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
System.out.println(query.build());
System.out.println(interpret(query.build()));
private OverpassQueryResult interpret(String query) {
try {
return OverpassServiceProvider.get().interpreter(query).execute().body();
} catch (Exception e) {
e.printStackTrace();
return new OverpassQueryResult();
}
}
查询字符串正确,但是OverpassQueryResult方法仅返回null。我在清单文件中具有Internet权限。
答案 0 :(得分:1)
我相信我发现了为什么它返回null的原因。生成的查询字符串似乎有些错误,因为键不应该用引号引起来。看来您需要手动删除引号。