У меня была версия gmps4rails gem 1.4.5, хорошо работающая в моем приложении Rails 3.2.2.Я только что взял пример установки infobox, который был описан в документации 1.4.5 в то время.Выглядело прекрасно!
Так что я наконец-то нашел время проверить его на IE8, и фон инфобокса отсутствует, на Safari и Firefox я получаю красивый желтый цвет с непрозрачностью% 75, на IE8 я вообще не получаю фон.
После возни с CSS я сдался и решил взять последнюю версию gmaps4rails 1.4.8.Я заметил, что теперь он поддерживает плагин Google Infobox.js.Поэтому я отслеживаю его и обнаруживаю, что существует несколько версий, не зная, какая версия работает с gmaps4rails 1.4.8, я выбираю infobox.js 1.9, самую последнюю версию.
Поэтому я вставляю ее в приложение / assets /googlemaps.js проявляется так:
//= require infobox.js
//= require ./gmaps4rails.base.js.coffee
//= require ./gmaps4rails.googlemaps.js.coffee
Я пробовал несколько разных вариантов того, когда включается infobox.js.
Я запускаю все это, как в usamap.html..erb:
<%= javascript_include_tag "lbrokers" %>
<%= gmaps("markers" => {"data" => @json, "options" => {"custom_infowindow_class" => "infobox", "auto_adjust"=>false}}) %>
Когда манифест lbrokers.js выглядит следующим образом:
//= require gmaps4rails/googlemaps.js
Когда я попадаю на эту страницу, я получаю следующее:
google is not defined
http://localhost:3000/assets/infobox.js?body=1
Line 128
ЭтоПрошло несколько месяцев между тем, как я изначально установил gmaps4rails, и сейчас.Несмотря на то, что я установил 1.4.8 Gem, ДЕЙСТВИТЕЛЬНО я просто взял gmaps4rails.base.js.coffee и gmaps4rails.googlemaps.js.coffee из gmaps4rails 1.4.8 на Github и вставил их содержимое в предыдущие файлы приложения/ активы / javascripst / gmaps4rails.Это файл макета, созданный до вызова usamap.html.erb:
<% content_for :html_foot do %>
<%= yield :scripts %>
<script type="text/javascript">
$(document).ready(function() {
var centerpoint = new google.maps.LatLng(38, -97);
gMap = new google.maps.Map(document.getElementById('map'));
gMap.setCenter(centerpoint);
});
Gmaps.map.infobox = function(boxText) {
return {
content: boxText
,disableAutoPan: false
,maxWidth: 0
,pixelOffset: new google.maps.Size(-140, 0)
,zIndex: null
,boxStyle: {
background: "url('http://google-maps-utility-library-v3.googlecode.com/svn/tags/infobox/1.1.5/examples/tipbox.gif') no-repeat"
,opacity: 0.75
,width: "380px"
}
,closeBoxMargin: "10px 2px 2px 2px"
,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif"
,infoBoxClearance: new google.maps.Size(1, 1)
,isHidden: false
,pane: "floatPane"
,enableEventPropagation: false
}};
</script>
<% end %>
Это та же самая настройка infobox, которая отлично работала на gmaps4rails 1.4.5.Теперь, когда я использую плагин infobox.js, noworky!
Я где-то ошибся, либо infobox.js 1.9 был неправильным выбором.Или я облажался, просто скопировав два кофейных скрипта gmaps4rails и вставив их в app / assets / javascripts / gmaps4rails.
Или ?????
Кто-нибудь?