Zh YandexMap Troubleshooting/ru: Difference between revisions
mNo edit summary |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Не отображается карта в | == Не отображается карта в браузере == | ||
Если в 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 • русский |
---|