Проблема с отображением пользовательского маркера с помощью gmaps4rails

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

В моей модели есть следующее:

def gmaps4rails_marker_picture
       {
        "picture" => 'images/logo_avatar.png',
         "width" =>  '16',        
         "height" => '16'
         }
  end  

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

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

@markers = Property.where(:id => propertyids).to_gmaps4rails

и вид:

<%= gmaps4rails(@markers) %>

Я попытался передать изображение как вариант, но не смог заставить его работать.

Любая помощь приветствуется!


person tomb    schedule 14.12.2011    source источник
comment
Не уверен, почему представление не появилось выше:   -  person tomb    schedule 14.12.2011
comment
Я не понимаю проблемы здесь. Какая ошибка у вас есть от отладчика js?   -  person apneadiving    schedule 14.12.2011
comment
проверка отладчика js была отличной идеей.... он не находит мой файл .png. Он смотрит на localhost:3000/images/logo_avatar.png. Я попытался изменить путь в модели на: app/assets/images/logo_avatar.png, но изображение все еще не найдено. Я также попытался переместить изображение прямо в каталог проекта..... есть мысли?   -  person tomb    schedule 15.12.2011


Ответы (3)


На уровне контроллера выполните:

@json = Property.where(:id => propertyids).to_gmaps4rails do |property, marker|
  marker.picture({
    "picture" => path_to_image('/images/logo_avatar.png'),
     "width" =>  '16',        
     "height" => '16'
     })
end

Это позволяет вам использовать помощник тега активов.

person apneadiving    schedule 14.12.2011
comment
вау, ты быстрый. Теперь я получаю эту ошибку: неопределенный метод `path_to_image' для #‹ListingsController:0x007fde5052a018›. Это потому, что в модели Property.rb есть объявление act_as_gmappable? Недвижимость и Листинг имеют отношения has_many owns_to. В модели Property есть адрес, но карта отображается в представлении указателя Listings. - person tomb; 15.12.2011
comment
Теперь я вижу, что path_to_image не имеет отношения к gmaps4rails. Я изучаю, как загружать помощники по тегам активов в среде разработки. - person tomb; 15.12.2011
comment
Я попытался изменить path_to_image на assets_path, теперь я получаю сообщение об ошибке «неправильное количество аргументов (1 вместо 0)», которое ссылается на строку 113, которая является строкой «picture» => assets_path («logo_avatar.png»). Я удалил имя файла и круглые скобки... ошибок нет, но в окончательном виде отображаются исходные маркеры карты. Я занимаюсь программированием 4 недели, поэтому приношу свои извинения за дилетантские комментарии.... но любая помощь будет очень признательна. - person tomb; 15.12.2011

Привет, я думаю, у меня была похожая проблема, и я нашел решение, все, что я сделал, это изменил его на это

marker.picture({
                  'picture' => view_context.image_path("green-dot.png"),
                  'width'   => 32,
                  'height'  => 32
                 })
person Blaine Hatab    schedule 11.03.2013

у меня работает следующий код, попробуйте..

@json = Property.where(:id => propertyids).to_gmaps4rails do |property, marker|
  marker.picture({
    "picture" => 'assets/logo_avatar.png',
     "width" =>  '16',        
     "height" => '16'
     })
end
person Veerababu Alamuri    schedule 15.10.2013