Maps dans application :)

guittonewsguittonews Membre
15:57 modifié dans API UIKit #1
bonjour à  tous :)

Je met un peu de coté mes prob de userDefaults (certain sont résolus d'autres sont apparus :D c'est la vie du débutant) pour m'attarder sur d'autres aspect qui m'interessent et me seront utiles : les maps.

Quelles solutions s'offrent à  nous?
webView avec site externe qui utilise gmaps/y!maps?
librairie objC basée sur gmpas (mais j'ai cru lire dans le coin que cela pouvait engendrer des prob pour distribuer les appli)?
autre?
Quelqu'un l'a déjà  fait, histoire d'avoir un retour d'expérience :)

Meri à  tous :)

Réponses

  • AliGatorAliGator Membre, Modérateur
    15:57 modifié #2
    A ma connaissance (mais je ne demande qu'à  être contredit), avec l'OS 2.x les seules solutions qui s'offrent à  nous sont :

    1) Utiliser l'URL Handler "maps://" qui va ouvrir l'application Maps à  l'endroit désigné par les paramètres passés dans l'URL (j'ai pas regardé la doc mais doit y avoir tout détaillé pour comment construire ton URL pour indiquer la carte que tu veux (emplacement, zoom, ...). Mais ça ça lance l'appli GoogleMaps, donc bon...

    2) Utiliser une WebView (et la piloter, en javascript, si besoin) qui va afficher la carte GMaps voulue. Voir s'il n'y a pas qqch à  faire au niveau du point Objective-C/Javascript de ce côté

    3) Attendre la sortie officielle de l'OS 3.0 qui rajoute une API à  GMaps permettant de faire plus de choses

    Sinon si tu as une APIKey pour pour la GoogleMaps API, tu peux voir de ce côté comment l'utiliser pour générer ce qui t'es nécessaire (mais ça va revenir à  utiliser la WebView, juste avec une page HTML personalisée par tes soins te permettant d'afficher ce que tu veux)
  • guittonewsguittonews Membre
    15:57 modifié #3
    Oui je pense que je vais utiliser un mix de la solution deux et la 4 (enfin cele ou j'ai l'API key :D) pour prémacher une partie du travail (en gros une carte que j'aurais initialiser comme je veux, puis mapping objC/JS pour interagir avec).

    Arf vivement la version 3.0 de l'OS :D

    Merci :)
  • guittonewsguittonews Membre
    15:57 modifié #4
    J'aurais deux question par rapport à  l'urlhandler :

    premièrement j'ai cru comprendre après quelques recherches que l'url devait commencer par http:// depuis la version 2.2 de l'OS...quid?

    Ensuite est ce que le comportement est le même sur le simulateur et sur le device? (j'attend la licence...)

    Merci beaucoup :)
  • AliGatorAliGator Membre, Modérateur
    avril 2009 modifié #5
    Alors en effet pour maps c'est un cas particulier, comme mis dans la doc apple : ce sont les URL commençant par "http://maps.google.com"; qui sont reconnues comme URLs spéciales redirigeant dans certains cas vers l'application Maps.
    Le but étant de faciliter la compatibilité notemment avec les pages web vues à  la fois sur iPhone et sur ordi ou autre.
    Sur iPhone, de tels liens lancent l'application GoogleMaps... sur l'iPhone.
    Par contre sur le simulateur, il n'y a pas l'application GoogleMaps (par rapport aux applis préinstallées sur l'iPhone, sur le simulateur on a tout juste l'appli Settings, Photo, Safari et Contacts, sans plus). Donc sur le simulateur ça ne marche pas en lançant Maps, ça affiche la page web de GoogleMaps à  la place. Mais une fois sur le device, c'est bon.
  • guittonewsguittonews Membre
    15:57 modifié #6
    erf tu m'as devancé sur la deuxime partie de la réponse :) je m'en suis rendu comtpe un peu tard :D

    Merci pour tes explications :)
  • guittonewsguittonews Membre
    15:57 modifié #8
    Hi everybody :D

    je relance ce sujet....petit problème avec du kml.

    Si j'ouvre le lien http://objective-d.com/sample.kml dans l'app plan : ca marche.

    Je fais ca dans mon app :
    NSString *url =&nbsp; @&quot;http://maps.google.com/maps?q=http://objective-d.com/sample.kml&quot;;<br />					[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];	<br />
    


    et là  ca ne marche plus...si j'ouvre un lien avec coord gps il me l'ouvre bien dans l'app maps, avec le lien kml il me l'ouvre dans safari...

    quelqu'un à  déja eu le problème? des idée? merciii à  tous
  • AliGatorAliGator Membre, Modérateur
    15:57 modifié #9
    Et avec une queryString respectant les standards du codage des URLs, c'est à  dire URLEncodée ?
    NSString* kml = [@&quot;http://objective-d.com/sample.kml&quot; stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];<br />NSString* url = [NSString stringWithFormat:@&quot;http://maps.google.com/maps?q=%@&quot;,kml];<br />[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
    
  • guittonewsguittonews Membre
    15:57 modifié #10
    Salut ali,
    désolé de ne répondre que maintenant mais je n'avais plus le device pour tester...

    J'ai pu tester ce matin ta solution mais pour malheureusement les mêmes effets..J'avou ne pas trop comprendre la :/

    Je continu à  chercher et je vous tiens au courant :)
  • guittonewsguittonews Membre
    15:57 modifié #11
    bon a priori pas possible d'utiliser du kml dans l'application maps, ca ouvre safari dans c'est cas là .

    Le seul truc que j'ai trouvé c'est pour personnaliser l'infobulle sur la map :
    http://maps.google.com/maps?q=mon+marqueur@latitude,longitude

    Voili voilou

    en prime un lien qui interessera surement du monde sur les URL sheme reference : http://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/iPhoneURLScheme_Reference.pdf
Connectez-vous ou Inscrivez-vous pour répondre.