2014-07-18 153 views
2

我無法讓我的第二個視圖出現在我的應用程序中。應用程序應該做的是列出位置,當您點擊某個位置時,應該將其路由到帶有嵌入Google地圖的不同視圖,並在該位置搜索座標。我建立了一個plunkerfor我的項目。我相信我的問題在定義我的控制器/模塊。我會在這裏發佈我的代碼,但有多個類可能會讓人困惑。誰能幫忙?谷歌地圖AngularJS路由

演示:http://plnkr.co/edit/OZZRgiEcrLzreW3lrc5v?p=preview

+0

這是你最後一個問題的重複嗎? – lucuma

+0

我試過更具體。 –

+1

你有很多問題在蹲點。我建議你設置一個新的,把所有的js放到一個文件中,並且不要創建多個模塊,直到你得到這些片斷爲止。此外,忘記谷歌地圖,直到你瞭解如何設置角度的應用程序和一些簡單的路線。然後發佈一個問題。 – lucuma

回答

1

這會幫助你進一步:http://plnkr.co/edit/IEj0HAolgmUVrCghMtgN

除其他事項外,你的路由配置不正確

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

這將設置你的默認視圖,其中放入<div ng-view> ,到index.html,其中包含<div ng-view>。像無限循環一樣。

我已經一分爲二的觀點:一個search.html和map.html和更新路由看起來是這樣的:

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

此外,地圖數據未發送到mapController。請參閱plunkr獲取解決方案。 您現在唯一需要做的是發送位置而不是名稱。

我已經清理了一下你的代碼,並提供了有關路由如何工作以及如何改進模塊定義的一些信息。

當我開始使用AngularJS時,這對我非常有幫助。它可能會幫助你:https://docs.angularjs.org/tutorial/

+0

謝謝一堆。這幫了很多。我還有一個問題。你知道爲什麼地圖現在不加載嗎? –

+0

我相信你可以找出一些調試:)祝你好運。 –