2010-05-17 11 views
1

Je veux savoir si je peux transmettre KML en tant que chaîne à l'application google map?Blackberry: Passage du fichier KML à Google Maps

extrait de code:

//KML String 
String document = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><kml xmlns=\"http://www.opengis.net/kml/2.2\"><Document><Folder><name>Paths</name><open>0</open><Placemark><LineString><tessellate>1</tessellate><coordinates> -112.0814237830345,36.10677870477137,0 -112.0870267752693,36.0905099328766,0</coordinates></LineString></Placemark></Folder></Document></kml>"; 

//Invoke Google Maps 

int module = CodeModuleManager.getModuleHandle("GoogleMaps"); 

if (module == 0) { 
    try { 
    throw new ApplicationManagerException("GoogleMaps isn't installed"); 
    } catch (ApplicationManagerException e) { 
    System.out.println(e.getMessage()); 
    } 
} 

String[] args = {document}; //Is this possible??? 
ApplicationDescriptor descriptor = CodeModuleManager.getApplicationDescriptors(module)[0]; 
ApplicationDescriptor ad2 = new ApplicationDescriptor(descriptor, args); 
try { 
    ApplicationManager.getApplicationManager().runApplication(ad2, true); 
    } catch (ApplicationManagerException e) { 
     System.out.println(e.getMessage()); 
} 

Répondre

0

Après beaucoup de R & D ... la réponse que j'ai découvert était que - Non, nous ne pouvons pas passer KML sous forme de chaîne.

Google Maps Mobile accepte un paramètre d'URL. Cela doit être sous la forme de "http: //" et peut être des paramètres spécifiques (tels que "http://gmm/x? ....") ou un fichier KML ("http://..../sample.kml").

+0

comment puis-je obtenir le fichier kml pour la longitude multiple, latitude que je veux mettre sur Google Maps ?? –

0

Vous devez analyser votre mapFile (KML, gpx, txt) IF à l'aide de l'API GoogleMaps. Si tout ce que vous voulez est de voir votre fichier KML dans une fenêtre googlemaps, vous pouvez aller à la norme http://www.googlemaps.com et dans la boîte ADRESSE, vous mettez l'adresse http complète de votre fichier kml. Jusqu'en avril2012, cela fonctionnait parfaitement et la barre latérale était remplie correctement, avec des éléments cliquables (en cliquant sur l'entrée de la barre latérale [par exemple, le "point 1" volerait à l'emplacement équivalent). En mai 2012, cette fonctionnalité ne fonctionne pas correctement. Si vous voulez aller un peu plus loin, vous pouvez avoir une page PHP qui fait écho au kml (rendu KML à la volée à partir d'une base de données ou d'un fichier). MAIS, googlemaps n'actualisera pas votre sortie générée dynamiquement pendant 10 à 15 minutes.

PM moi si vous voulez un peu javascript GPX et TXT mapFile rendu pour API GoogleMaps VS3

+0

ps: à partir de jun2012, fly-to fonctionne à nouveau, mais le traçage LineString ne fonctionne pas correctement (la superposition n'est pas complètement dessinée dans la plupart des cas). pourrait être juste un snafu dans la nouvelle version de googlemaps api. cela, en soi, est un problème sérieux. google n'est pas intéressé par la rétrocompatibilité: non seulement il change des familles entières de commandes entre les versions de l'API, mais il change aussi sa logique et sa structure. J'ai perdu 6 mois de développement parce que je faisais confiance à google pour fournir une plate-forme stable et cohérente. Je ne vais pas répéter cette erreur. OpenLayers est le chemin à parcourir. –