2016-02-04 123 views
0

我正在嘗試使用angularjs-google-places來獲取Google地點的詳細信息,但我所得到的只是一個空對象。我試圖按照文檔中的說明設置它,但我仍然沒有得到任何結果。這codepen是從別人,但顯示我正在得到什麼。這是我的代碼。AngularJS-Google-Places不返回詳細信息

的index.html

... 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places"></script> 
<script src="bower_components/angularjs-google-places/dist/angularjs-google-places.min.js"></script> 
... 

app.js

angular 
    .module('cityApp', [ 
    'ngAnimate', 
    'ngCookies', 
    'ngResource', 
    'ngRoute', 
    'ngSanitize', 
    'ngTouch', 
    'ui.bootstrap', 
    'mgcrea.ngStrap', 
    'ngCordova', 
    'ngGPlaces' 
    ]) 

    ... 

restaurants.js

angular.module('cityApp') 
    .controller('RestaurantsCtrl', function ($scope, ngGPlacesAPI) { 
    $scope.details = ngGPlacesAPI.placeDetails({reference:"ChIJ4yo36JUn5IgRXgiRD7KMDe0"}).then(function (data) { 
     return data; 
    }); 
    }); 

restaurants.html

<main> 
    <div class="container"> 
    <p>{{details}}</p> 
    </div> 
</main> 

回答

2

根據該codepen,該數據實際上是通過,因爲如果你console.log()它,你可以看到數據的到來。他們顯示數據的方式是問題。退貨不起作用。您必須設置$scope.details = data

+0

有趣! GitHub上的例子明確地說要使用返回,但是這個codepen絕對不能用於返回。它也值得注意我認爲它也是OPs引用字符串無效的情況(正如在其他答案中提到的那樣。將該字符串放入代碼本中,它甚至不會到達。然後 – bradimus

+0

是的,我看到了字符串,我同意,它看起來並不正確,當我以這種方式使用它的時候,我還沒有幸運的回報,這就是爲什麼我通常使用服務的原因。如果有人想報告爲什麼回報不起作用,那會很有幫助 – Ronnie

+0

這個作品除了改變參考,謝謝!我使用的地方id來自Google的placeID finder雖然,所以現在我不知道在哪裏找到正確的placeid –

0

您的參考號是錯誤的。 嘗試一個好的,它會工作。

嘗試這個例子:

$scope.details = ngGPlacesAPI.placeDetails({reference:"CnRnAAAAnRm_imIW_SFd74bsj6iRwvRxBamZqtUaSyRjlb-i1vvkapOSVXyA5Dj452GSpBpno_MHbxyGsuFx9zqZvr_aa2a7uG0IZE8tC-N2OccvUC_i5N3QRQ11WmSRayo441riHebwQGqlbaf3RY-5KVsfGBIQXGtmUICHsD9LH2rd_y-J2hoUvW0lUEIHHtRnD15QyeUqi6tkHIg"}).then(function (data) { 
    return data; 
    }); 
相關問題