1

このライブラリ「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)
4

2 に答える 2

1

何が問題なのかを調べたところ、次の 2 つのことがわかりました。1/ 「解決」するには、次のコードのようにジオメトリ フィールドを選択する必要があります。 SocleGme.getInstance().mapsEngine.tables().features().list(ASSET_ID_USER).setMaxResults((long) 1000) .setSelect("num_dept,geometry") .setWhere("mail='"+email+"'" );

2/ 数時間後、問題の原因を突き止めました。それは次のクラスに由来します。package com.google.api.services.mapsengine.model; /** * ........ * ........ * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class Feature extends 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+"'");

ライブラリで直接修正するのは良いことかもしれません。

よろしく、 セバスチャン

于 2014-06-17T11:32:25.660 に答える