2016-07-08 6 views
2

Я пытаюсь внедрить Google Maps в свой сайт Ruby on Rails.Встроенные карты Google в Rails не реагируют

Я могу искать места на карте с помощью функции поиска, которую я реализовал, но я не могу каким-либо образом взаимодействовать с картой. Я не могу перетащить, масштабировать, нажимать на кнопки, щелкнуть, чтобы перейти к спутниковому виду - ничего.

Я взял стандартный код из here

<iframe 
    width="600" 
    height="450" 
    frameborder="0" style="border:0" 
    src="https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY 
    &q=Space+Needle,Seattle+WA" allowfullscreen> 
</iframe> 

Я подтвердил, что это проблема с Rails, написав простой HTML-файл с точно таким же кодом и запустить сервер SimpleHTTP Python. В этом простом HTML-файле карта полностью функциональна.

Есть что-то в Rails, которые останавливают это от работы?

Я бегу Рубин 2.2.1 и Rails 4.2.6

Обновление страницы, консоль выглядит следующим образом

Started GET "/homes?utf8=%E2%9C%93&search=name2&commit=Find" for ::1 at 2016-07-08 16:07:00 -0400 
Processing by HomesController#index as HTML 
    Parameters: {"utf8"=>"✓", "search"=>"name2", "commit"=>"Find"} 
    Home Load (0.5ms) SELECT `homes`.* FROM `homes` WHERE `homes`.`name` = 'name2' ORDER BY `homes`.`id` ASC LIMIT 1 
    Rendered homes/index.html.erb within layouts/application (0.3ms) 
Completed 200 OK in 15ms (Views: 12.3ms | ActiveRecord: 0.5ms) 


Started GET "/assets/turbolinks.self-c5acd7a204f5f25ce7a1d8a0e4d92e28d34c9e2df2c7371cd7af88e147e4ad82.js?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/homes.self-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855.css?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/jquery.self-660adc51e0224b731d29f575a6f1ec167ba08ad06ed5deca4f1e8654c135bf4c.js?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/jquery_ujs.self-e87806d0cf4489aeb1bb7288016024e8de67fd18db693fe026fe3907581e53cd.js?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/scaffolds.self-eb1a78b28e204749434f74792f8691befac84bd13affecbb8570043d2a38612c.css?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/application.self-d9e17b260b47ee1a5a805b39ec14012b484178bbc392ce717b7d51d0c785d7d3.css?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/homes.self-877aef30ae1b040ab8a3aba4e3e309a11d7f2612f44dde450b5c157aa5f95c05.js?body=1" for ::1 at 2016-07-08 16:07:00 -0400 


Started GET "/assets/application.self-3b8dabdc891efe46b9a144b400ad69e37d7e5876bdc39dee783419a69d7ca819.js?body=1" for ::1 at 2016-07-08 16:07:00 -0400 
+0

Вы разместили свой ключ API там? –

+0

@FahadUddin yes –

+0

Звучит как какой-то противоречивый javascript, введенный Rails. Пожалуйста, зайдите в консоль разработчиков, что включено. –

ответ

1

Похоже конфликт Rails-х turbolinks с Google Maps, увидеть это ответ:

Rails 4 turbo-link prevents jQuery scripts from working

Смотрите, если отключив turbolinks исправляет проблему:

  • Удалить gem "turbolinks" из вашего Gemfile и выполнить bundle.

  • Удалить //= require turbolinks от application.js.

+0

, это разрешило проблему, спасибо! –

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