2014-07-18 3 views
2

Je n'arrive pas à afficher mon deuxième affichage dans mon application. L'application est censée faire la liste des emplacements, lorsque vous cliquez sur un emplacement qu'elle est censée router vers une autre vue avec une carte Google intégrée et recherchez les coordonnées sur le lieu. J'ai mis en place un plunkerfor mon projet. Je crois que mon problème est quelque part dans la définition de mes contrôleurs/modules. Je posterais mon code ici, mais il y a plusieurs classes qui peuvent devenir confuses. Quelqu'un peut-il aider?AngularJS Routage pour Google Maps

Démo: http://plnkr.co/edit/OZZRgiEcrLzreW3lrc5v?p=preview

+0

Est-ce une répétition de votre dernière question? – lucuma

+0

J'ai essayé d'être plus précis. –

+1

Vous avez beaucoup de problèmes sur le plunker. Je vous suggère d'en installer un nouveau, de mettre tous les j dans un fichier et de ne pas créer plusieurs modules jusqu'à ce que vous obteniez les pièces. En outre, oubliez la carte google jusqu'à ce que vous compreniez comment configurer l'application angulaire et un routage simple. Puis postez une question. – lucuma

Répondre

1

Cela devrait vous aider davantage: http://plnkr.co/edit/IEj0HAolgmUVrCghMtgN

, entre autres, la configuration de routage est incorrect

$routeProvider 
     .when("/index", { 
     templateUrl:"index.html", 
     controller: "firstCtrl"}) 
     .when("/map", { 
     templateurl:"map.html", 
     controller: "MapController"}) 
     .otherwise("/index"); 

Cela permet de régler la vue par défaut, ce qui est mis dans le <div ng-view> , à l'index.html, lequel contient le <div ng-view>. Quelque chose comme une boucle infinie.

J'ai divisé les vues en deux: un search.html et un map.html et mis à jour le routage pour ressembler à ceci:

$routeProvider 
     .when("/search", { 
     templateUrl: "search.html", 
     controller: "searchController" 
     }) 
     .when("/map/:locationName", { 
     templateUrl: "map.html", 
     controller: "mapController" 
     }) 
     .otherwise({ 
     redirectTo: '/search' 
     }); 

En outre, votre carte-données n'a pas été envoyé à la mapController. Voir le plunkr pour la solution. La seule chose que vous devez faire maintenant est d'envoyer l'emplacement au lieu du nom.

J'ai un peu nettoyé votre code et j'ai fourni quelques informations sur le fonctionnement du routage et comment améliorer les définitions de vos modules.

Cela m'a été très utile lorsque j'ai commencé à travailler avec AngularJS. Il pourrait vous aider aussi: https://docs.angularjs.org/tutorial/

+0

Merci beaucoup. Cela a beaucoup aidé. J'ai une autre question cependant. Savez-vous pourquoi la carte ne se charge pas maintenant? –

+0

Je suis sûr que vous pouvez trouver avec un débogage :) Bonne chance. –

Questions connexes