Zh YandexMap Troubleshooting/ru: Difference between revisions

From Documentation
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Не отображается карта в браузере ==
Если в Firefox карта не отображается, а в других браузерах отображается, то, скорее всего, у вас включена блокировка отслеживания.
Для проверки того, что именно это влиет на отображение карты достаточно отключить трекинг на текущую сессию.
Рассмотрим пример на примере демонстрационного сайта.
Пытаемся получить простую карту, и получаем вот такой результат.
[[File:NoMap-FireFox-Before.png]]
Т.е. страница корректно загрузилась, но карты мы не наблюдаем.
Отключаем блокировку, нажимаем кнопку '''Disable protection for this session'''.
[[File:NoMap-FireFox-SessionTrackingOption.png]]
Проверяем результат, просто перегружаем страницу
[[File:NoMap-FireFox-After.png]]
== Границы ==
== Границы ==


Line 169: Line 192:


Для того, чтобы баллон не растягивался, надо указать в шаблоне
Для того, чтобы баллон не растягивался, надо указать в шаблоне
<code>
 
<pre>
 
.YMaps-b-balloon-content
.YMaps-b-balloon-content
     { width:300px!important; }
     { width:300px!important; }
</code>
 
</pre>


Например, ширина 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 для загрузки библиотеки в свойствах шаблона (а не карты)
 




Line 181: Line 239:
{{Languages|Zh_YandexMap_Troubleshooting}}
{{Languages|Zh_YandexMap_Troubleshooting}}


[[Category:Zh YandexMap]]
[[Category:Zh YandexMap|Troubleshooting]]

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  • русский