IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Donner des paramètres à "initialize()"


Sujet :

APIs Google

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut Donner des paramètres à "initialize()"
    Bonjour,

    Je suis en train de travailler sur un projet iOS qui utilise Google Map V3 et l'objective-c.

    Ce que j'essaie de faire, c'est donner les coordonnées de géolocalisation obtenus grâce à l'objective-c et les transmettre à Google Map afin qu'il puisse me créer une carte centré sur ces coordonnées.

    Voici mon code Javascript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    function initialize(){
                    createMap(0,0);
                }
     
                function createMap(lat,lng){
                    directionsService = new google.maps.DirectionsService();
                    geocoder = new google.maps.Geocoder();
                    elevator = new google.maps.ElevationService();
                    directionsDisplay = new google.maps.DirectionsRenderer();
                    var userLocation = new google.maps.LatLng(lat, lng);
     
                    var myOptions = {
                        streetViewControl: false,
                        center: userLocation,
                        zoom: 10,
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    };
                    map = new google.maps.Map(document.getElementById("map_canvas"),
                                              myOptions);
     
                    street = new google.maps.ImageMapType({
                                                          getTileUrl: function(coord, zoom) {
                                                          var X = coord.x % (1 << zoom);
                                                          return "http://cbk0.google.com/cbk?output=overlay&zoom=" + zoom + "&x=" + X + "&y=" + coord.y + "&cb_client=api";
                                                          },
                                                          tileSize: new google.maps.Size(256, 256),
                                                          isPng: true
                                                          });
                    map.overlayMapTypes.push(null);
                    directionsDisplay.setMap(map);
     
     
                }
    Donc tout d'abord, j'ai tenté de lancer directement la méthode createMap() en lui donnant les coordonnées depuis l'objective-c. Malheureusement aucune carte ne s'affiche.

    Alors comme vous pouvez le voir, je lance createMap() depuis la méthode initialize() et la, la carte s'affiche.

    Donc mon hypothèse, c'est que l'objective-c envoie peut-être la requête avant que le javascript soit chargé, ce qui me semble bizarre c'est qu'en plaçant un alert dans la méthode, visiblement il passe par dessus.

    Pour régler sa je souhaitais essayer de donner des paramètres à la méthode initialize() mais je ne sais pas si c'est possible, et si oui, comment ?

    Merci d'avance pour votre aide!

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonsoir,
    il faut que ton document soit chargé avant de pouvoir afficher la carte, tout au moins il faut que la DIV contenant la carte fasse partie du DOM.

    Quant à passer des paramètres à une fonction cela se fait de façon standard.

Discussions similaires

  1. Réponses: 14
    Dernier message: 30/11/2007, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo