2014-12-15 3 views
0

Я действительно пытаюсь загрузить автозаполнение Google Maps с помощью RequireJS. Я пытаюсь следующие:Загрузка автозаполнения Карт Google с помощью RequJS

define([ 
    'jquery', 
    'async!http://maps.google.com/maps/api/js?v=3&libraries=places' 
], function (
$ 
) { 
    this.geocoder = new google.maps.Geocoder(); 
    new google.maps.places.Autocomplete($('.searchValue')); 
}); 

геокодирова нагрузки и работает без проблем, но автозаполнения терпит неудачу с ошибкой:

Uncaught TypeError: undefined is not a function 

Я в полном недоумении, почему это происходит, особенно так как Geocoding работает.

ответ

0

Вам необходимо указать имя параметра обратного вызова JSONP для асинхронного плагина. В этом случае API Google ожидает параметр &callback=<functionName>. Добавление !callback в конце URL-адреса сообщает плану async добавить &callback=<functionName> к запросу и зафиксировать асинхронный ответ Google.

define([ 
    'jquery', 
    'async!http://maps.google.com/maps/api/js?v=3&libraries=places!callback' 
], function (
$ 
) { 
    this.geocoder = new google.maps.Geocoder(); 
    new google.maps.places.Autocomplete($('.searchValue')); 
}); 

Это должно сделать google.maps.places.Autocomplete доступным в то время, когда вы его вызываете.

+0

Я пробовал это, и я получаю ту же ошибку. Я не понимаю, что именно вызывает ошибку. Я не думаю, что ошибка связана с доступом к объекту автозаполнения. – xur17

+0

Извините. Моя память была выключена. Обновлен ответ. Также проверял его, и он работает для меня. – dbcb

Смежные вопросы