Ember-cli和谷歌地图搜索

时间:2015-08-04 09:14:44

标签: google-maps ember.js ember-cli

我是布雷尔的新人,最近我遇到了一些困难。 我试图使用谷歌地图自动完成功能。在我的JavaScript示例中,一切都很好。

<html>
<head>
    <title>Autocomplete</title>
    <script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script>
    <script type="text/javascript">
        function initialize() {
            var options = {
                types: ['(cities)']
            };
            var input = document.getElementById('searchField');
            var autocomplete = new google.maps.places.Autocomplete(input, options);
        }

        google.maps.event.addDomListener(window, 'load', initialize);
    </script>
</head>
<body>
    <div>
        <input id="searchField" type="text" size="50" placeholder="Location..." autocomplete="off">
    </div>
</body>
</html>

但是在我的ember应用程序中,当我使用鼠标输入框选择位置时,值不会改变(仅适用于键盘)。例如。我正在写 New Yo ,然后从下拉列表中选择 New York ,但我的价值仍然是 New Yo

这是我的代码:

应用/组件/ GMAP-search.js

import Ember from 'ember';

export default Ember.Component.extend({
    searchTextField: function() {
            var options = {
                    types: ['(cities)']
                };
            var input = this.$('.search-field')[0];
            new window.google.maps.places.Autocomplete(input, options);
    }.on('didInsertElement')
});

应用程序/模板/组件/ GMAP-search.hbs

{{input class="search-field form-control" type="text" value=offer.location placeholder="" required="required"}}

应用程序/模板/ application.hbs

{{gmap-search offer=offer }}

我将不胜感激任何帮助

1 个答案:

答案 0 :(得分:0)

我认为在向服务器提交数据时会出现问题?它当然应该有所帮助:

submit: function() {
    this.set('offer.location', this.$('.search-field')[0].value);
    ... 
}