我正在使用该库“google-api-services-mapsengine”(版本1.18.0-rc),当我尝试使用此代码在Google Maps Engine上进行选择时:
com.google.api.services.mapsengine.MapsEngine.Tables.Features.List aRequest = myObj.getInstance().mapsEngine.tables().features().list(ASSET_ID_USER).setMaxResults((long) 1000)
.setSelect("num_dept")
.setWhere("mail='"+email+"'");
我面对这个问题:
java.lang.IllegalArgumentException: key geometry
at com.google.api.client.json.JsonParser.parseValue(JsonParser.java:871)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:374)
at com.google.api.client.json.JsonParser.parse(JsonParser.java:347)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:87)
at com.google.api.client.json.JsonObjectParser.parseAndClose(JsonObjectParser.java:81)
at com.google.api.client.http.HttpResponse.parseAs(HttpResponse.java:459)
at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
答案 0 :(得分:1)
在找到错误之后,我发现了两件事: 1 / To"解决"它,您必须选择几何字段,如下代码: com.google.api.services.mapsengine.MapsEngine.Tables.Features.List aRequest = SocleGme.getInstance()。mapsEngine.tables()。features()。list(ASSET_ID_USER).setMaxResults((long)1000) .setSelect(" num_dept,几何&#34) .setWhere("邮件='&#34 + +电子邮件"'&#34);
2 /几个小时后,我发现了问题所在,它来自这个课程: 包com.google.api.services.mapsengine.model; / ** * ........ * ........ * @author Google,Inc。 * / @SuppressWarnings("的Javadoc&#34) public final class功能扩展com.google.api.client.json.GenericJson { /**
* The geometry member of this Feature.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private GeoJsonGeometry geometry;
您必须对此行 @ com.google.api.client.util.Key 发表评论才能使此代码正常运行:
com.google.api.services.mapsengine.MapsEngine.Tables.Features.List aRequest = myObj.getInstance().mapsEngine.tables().features().list(ASSET_ID_USER).setMaxResults((long) 1000)
.setSelect("num_dept")
.setWhere("mail='"+email+"'");
直接在库中修复它可能是一件好事。
此致 的Sebastien
答案 1 :(得分:0)
这是此错误的一个实例:https://code.google.com/p/google-api-java-client/issues/detail?id=867。
与此同时,最好的解决方法是包括“几何”和“几何”。在您的选择字符串中,或完全省略它。不要更改生成的客户端库,因为您可能无法在不修改代码的情况下升级到将来的版本,并且可能会发现意外的副作用 - 在这种情况下,您可能根本无法检索几何字段。
编辑:哦,谷歌喜欢它,当你明星'这些错误表明你也受到影响。EDIT2:此错误现已修复,因此请抓取最近版本的Maps Engine客户端库(rev44或更高版本),看看它是如何运行的。