2010-10-06 15 views
0

J'ai un vrai problème de récupération des caractéristiques de la carte à partir des fonctionnalités de la nouvelle java api sur Android. Bien que je puisse obtenir un featrureFeed contenant un identifiant et un titre (à partir d'un MapFeed spécifique), dès que j'ajoute FeatureContent à la requête (pour obtenir les détails du repère) FeatureFeed.executeGet() renvoie une erreur '400 bad request' . Est-ce que je fais quelque chose de mal, ou est-ce qu'il y a une erreur avec ça en ce moment? Voici un peu de mon code - toute information serait grandement appréciée car je me suis cogné la tête contre cela pendant 3 jours! (Je l'ai essayé "kml: placemark", "atome: placemark" et "placemark" dans la classe FeatureContent)Je ne suis pas en mesure d'obtenir des cartes Fonctionnalité de travailler


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 public class implémente Cloneable { @Key ("atome : id ") public String id; @Key ("atom: title") public String title; @Key ("atom: content") contenu de FeatureContent public;

FeatureEntry public() {// nécessaire } FeatureEntry public (String titre, contenu FeatureContent) { this.title = titre; this.content = contenu; }}

FeatureContent public class implémente Cloneable {

@Key (type "@") public String contentType = "application/vnd.google-earth.kml + xml"; @Key ("kml: Placemark") // l'ajout de cet élément échoue toujours avec la demande incorrecte
public Repère FeaturePlaceMark; // ajoutant ceci échoue toujours avec Bad Request

FeatureContent public() {// nécessaire }

FeatureContent publique (FeaturePlaceMark placemark) { this.placemark = 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 ("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.org/XML/1998/namespace ");

Répondre

0

Je suis là aussi ... Et quand je supprime cette phrase url.fields = GData.getFieldsFor(FeatureFeed.class);, le programme fonctionne bien, bizarre mais efficace, vous pouvez l'essayer.