Zh YandexMap Troubleshooting/ru: Difference between revisions

From Documentation
Jump to navigation Jump to search
mNo edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Не отображается карта в Firefox ==
== Не отображается карта в браузере ==


Если в Firefox карта не отображается, а в других браузерах отображается, то, скорее всего, у вас включена блокировка отслеживания.
Если в Firefox карта не отображается, а в других браузерах отображается, то, скорее всего, у вас включена блокировка отслеживания.
Line 5: Line 5:
Для проверки того, что именно это влиет на отображение карты достаточно отключить трекинг на текущую сессию.
Для проверки того, что именно это влиет на отображение карты достаточно отключить трекинг на текущую сессию.


Рассмотрим пример на примере демонстрационного сайта.
Пытаемся получить простую карту, и получаем вот такой результат.
[[File:NoMap-FireFox-Before.png]]
Т.е. страница корректно загрузилась, но карты мы не наблюдаем.
Отключаем блокировку, нажимаем кнопку '''Disable protection for this session'''.
[[File:NoMap-FireFox-SessionTrackingOption.png]]
Проверяем результат, просто перегружаем страницу
[[File:NoMap-FireFox-After.png]]


== Границы ==
== Границы ==
Line 186: Line 202:
Например, ширина 300 пискелей
Например, ширина 300 пискелей
и !important – обязателен, т.к. ширина там прописана в style="", что имеет приоритет над тем, что прописано в файле стилей.
и !important – обязателен, т.к. ширина там прописана в style="", что имеет приоритет над тем, что прописано в файле стилей.
== Сообщение об ошибке JQuery is not defined ==
Когда ваша карта отображается, но вы не видите ни одного объекта на карте в консоли вашего браузера может быть ошибка, похожая на эту
[[File:JQuery_is_not_defined.png]]
Это означает, что ваш шаблон не загружает библиотеку JQuery.
Исправить это можно
1 - проверьте, может ли шаблон загрузить данную библиотеку
2 - если шаблон не поддерживает загрузку, то вы можете:
2.1 - открыть подробности карты, открыть секцию '''Advanced options'''
2.2 - в поле '''Additional JavaScript files for loading''' добавить ссылки на JQuery
2.3 - проверить, что проблема решена
Например, по умолчанию joomla имеет библиотеку JQuery, просто попробуйте ввести эти две строчки
<pre>
/media/jui/js/jquery.min.js
/media/jui/js/jquery-noconflict.js
</pre>
3 - если вы используете мой шаблон для полноэкранного отображения карты, то он также не загружает эту библиотеку, но вы можете указать URL для загрузки библиотеки в свойствах шаблона (а не карты)





Latest revision as of 13:30, 29 April 2018

Не отображается карта в браузере

Если в Firefox карта не отображается, а в других браузерах отображается, то, скорее всего, у вас включена блокировка отслеживания.

Для проверки того, что именно это влиет на отображение карты достаточно отключить трекинг на текущую сессию.


Рассмотрим пример на примере демонстрационного сайта.

Пытаемся получить простую карту, и получаем вот такой результат.

Т.е. страница корректно загрузилась, но карты мы не наблюдаем.

Отключаем блокировку, нажимаем кнопку Disable protection for this session.

Проверяем результат, просто перегружаем страницу

Границы

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

Далее рассмотрим некоторые варианты.


Всплывающее окно

Рассмотрим такой пример.

Смотрим на стили.


Метка - Иконка с текстом

Здесь рассмотрим следующий случай.

Внешне метка выглядит приблизительно так:

Если посмотри на верхнюю часть метки

А если проверить стиль, используя, например, firebug для firefox

Можно заметить наличие границы

Аналогично анализируем нижнюю часть метки

И ее стили


Т.о. надо изменить стиль для границ в тегах таблицы в шаблоне


Разрывы (и границы) как на карте, так и на всплывающем окне

Имеется карта


Рассмотрим первую часть проблемы - разрывы между тайлами карты.


Выделим в firebug фрагмент...


и посмотрим стили


А теперь посмотрим поближе на всплывающее окно

Помимо разрывов еще можно заметить и границу клеток таблицы


Т.е. надо править padding, margin, border

Спасибо bravo.123 за окончательные стили, которые он дополнительно прописал в шаблоне и предоставил.

Вот пример решения, обратите внимание - это только для его шаблона.


В общем внес в template.css :

.YMaps-layer-container img
{
border-width: 0px;
margin: 0px 0px 0px 0px;
}
.YMaps-layer-container th ,.YMaps-layer-container td
{
padding: 0px;
border: solid 0px #665614;
}

Вот это подправлял, что бы хвостик на место прилепить

.YMaps-b-balloon_small .YMaps-b-balloon-tail {
bottom: -10px;
height: 12px;
right: 0;
width: 20px;
}
.YMaps-b-balloon_full .YMaps-b-balloon-tail-full {
bottom: -36px;
cursor: default;
position: absolute;
right: 16px;
}


Экран регистрации при выводе карты

Когда выводится карта неожиданно появляется окно регистрации.

Смотрите: Режим совместимости для файлов ресурсов



"Отрыв" хвоста

Обновил шаблон и получил сюрприз - съехало отображение карты. Опишу первую проблему

Как видно, хвост балуна "оторвался" от основного тела

Кроме того, немного съехала кнопка закрытия


Открывает firebug и смотрим, что у нас стало не так. Наличие margin для таблицы.

Тут же подправим стиль и проверим нашу догадку


Остальное - дело техники. Идем в шаблон, дописываем наши стили

.YMaps-b-balloon-frame {
  margin: 0;
}

И проверяем хвост

И кнопку закрытия


Большая ширина всплывающего окна

Для того, чтобы баллон не растягивался, надо указать в шаблоне


.YMaps-b-balloon-content
    { width:300px!important; }

Например, ширина 300 пискелей и !important – обязателен, т.к. ширина там прописана в style="", что имеет приоритет над тем, что прописано в файле стилей.


Сообщение об ошибке JQuery is not defined

Когда ваша карта отображается, но вы не видите ни одного объекта на карте в консоли вашего браузера может быть ошибка, похожая на эту

Это означает, что ваш шаблон не загружает библиотеку JQuery.

Исправить это можно

1 - проверьте, может ли шаблон загрузить данную библиотеку

2 - если шаблон не поддерживает загрузку, то вы можете:

2.1 - открыть подробности карты, открыть секцию Advanced options

2.2 - в поле Additional JavaScript files for loading добавить ссылки на JQuery

2.3 - проверить, что проблема решена

Например, по умолчанию joomla имеет библиотеку JQuery, просто попробуйте ввести эти две строчки

/media/jui/js/jquery.min.js
/media/jui/js/jquery-noconflict.js

3 - если вы используете мой шаблон для полноэкранного отображения карты, то он также не загружает эту библиотеку, но вы можете указать URL для загрузки библиотеки в свойствах шаблона (а не карты)



Language: English  • русский