2016-01-14 67 views
0

我也跟着下面的教程:谷歌的地方自動完成沒有返回正確的地方

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform

而且,我寫了生成的代碼對谷歌的下列實例放置自動完成(我如何使用Node.js與browserify所以它看起來有點不同):

enableAutoCompleteForElement: function(aDomElement) { 
    var self = this; 

    // The geocode type restricts the search to geographical location types. 
    GoogleMapsLoader.KEY = ArbitratorConfig.google_api_key; 
    GoogleMapsLoader.LIBRARIES = ['places']; 
    GoogleMapsLoader.SENSOR = false; 

    console.log("Google client id: " + ArbitratorConfig.google_client_id); 

    GoogleMapsLoader.load(function(google) { 
     self.autocomplete = new google.maps.places.Autocomplete(aDomElement, 
                   { types: ['geocode'] }); 
     google.maps.event.addListener(self.autocomplete, 'place_changed', function() { 
     // When the user selects an address from the dropdown, this will fire. 
     var place = self.autocomplete.getPlace(); 
     }); 
    }); 
    } 

這對大多數應用程序工作得很好。不過,我注意到它不如Google日曆捆綁的自動完成地點那麼精確。例如,如果我在Google日曆中創建活動並在「布盧明頓冰上花園」的位置輸入中進行搜索,它將(可能取決於您的位置開始)返回「布魯明頓冰上花園,西98街,明尼阿波利斯,明尼蘇達州,美國「。但是,如果我使用我的客戶執行相同的搜索,它不會提供此結果。我能得到的最接近的是'美國明尼蘇達州布盧明頓'。

我覺得我錯過了圖書館的一部分,或者我錯誤地告訴它做了一些它不應該做的事情。我希望能夠檢索在Google商家信息中註冊的任何類型的地點,而不僅僅是城市,州或國家(目前它似乎是自動完成的)。

回答

4

從您的​​3210中刪除types: ['geocode']選項。這就是Google Places自動填充的原因,它排除了像布盧明頓冰花園這樣的地方,而布盧明頓冰花園是一個建立而不是地理編碼。

相關問題