2010-10-06 69 views
0

我有一個真正的問題,通過Android上新的Java api從功能提要中檢索地圖功能。 儘管我可以從FeatureContent中添加一個包含id和標題(來自特定MapFeed)的featrureFeed,但是一旦將FeatureContent添加到請求中(獲取地標詳細信息),FeatureFeed.executeGet()會返回'400錯誤請求'錯誤。 我做錯了什麼,或者現在實際上是否有錯? 下面是我的一些代碼 - 任何信息將不勝感激,因爲我一直對我的頭撞了3天! (我試過 「KML:地標」,:在FeatureContent類 「原子標」 和 「地標」)無法獲取地圖featureFeed工作


public class FeatureFeed { 
    @Key("atom:id") 
    public String id; 
    @Key("atom:title") 
    public String title; 
    @Key("atom:entry") 
    public List features;

public List<FeatureEntry> maps = new ArrayList<FeatureEntry>(); 

public static FeatureFeed executeGet(HttpTransport transport, 
       BuildMapsUrl url) throws IOException { 
url.fields = GData.getFieldsFor(FeatureFeed.class); 
AtomParser parser = new AtomParser(); 
parser.namespaceDictionary = Namespace.FEED_NAMESPACE_DICTIONARY; 
transport.addParser(parser); 
HttpRequest request = transport.buildGetRequest(); 
request.url = url; 
return (FeatureFeed) RedirectHandler. 
        execute(request).parseAs(FeatureFeed.class); 
} 

}

公共類FeatureEntry實現了Cloneable { @key(「原子:id「) public String id; @Key(「atom:title」) public String title; @Key(「atom:content」) public FeatureContent content;

公共FeatureEntry(){// 需要 } 公共FeatureEntry(字符串標題,內容FeatureContent){ this.title =標題; this.content = content; } }

公共類FeatureContent實現了Cloneable {

@key( 「@型」) 公共字符串的contentType = 「應用/ vnd.google-earth.kml + xml」 的;

@Key(「kml:Placemark」)//添加此項將始終失敗,並顯示Bad Request
public FeaturePlaceMark placemark; //添加此總是失敗

公共FeatureContent(){// 需要 }錯誤的請求

公共FeatureContent(FeaturePlaceMark標){ this.placemark =標; } }

FEED_NAMESPACE_DICTIONARY.namespaceAliasToUriMap;feedMap.put(「」,「http://www.w3.org/2005/Atom」); feedMap.put(「kml」,「http://www.opengis.net/kml/2.2」); feedMap.put(「atom」,「http://www.w3.org/2005/Atom」); feedMap.put(「atom」,「http://www.w3.org/2005/Atom」);feedMap.put(「exif」,「http://schemas.google.com/photos/exif/2007」); feedmap.put(「gd」,「http://schemas.google.com/g/2005」); feedmap.put(「gm」,「http://schemas.google.com/g/2008#mapfeature」); feedMap.put(「geo」,「http://www.w3.org/2003/01/geo/wgs84_pos#」); feedMap.put(「georss」,「http://www.georss.org/georss」);feedMap.put(「gml」,「http://www.opengis.net/gml」); feedMap.put(「gphoto」,「http://schemas.google.com/photos/2007」); feedMap.put(「media」,「http://search.yahoo.com/mrss/」); feedMap.put(「openSearch」,「http://a9.com/-/spec/opensearch/1.1/」);feedMap.put(「xml」,「http://www.w3。組織/ XML/1998 /命名空間「);

回答

0

我已經有太多...... 當我刪除了這句話url.fields = GData.getFieldsFor(FeatureFeed.class);,程序運行良好,很奇怪,但有效的,您可以嘗試。 out。