Как я могу отображать элементы управления Google Карт по умолчанию, когда пользователь наводит курсор мыши на карту? В противном случае я хотел бы, чтобы элементы управления были скрыты.Показывать элементы управления Google Maps при зависании
0
A
ответ
3
Вы можете использовать метод setOptions карты, чтобы скрыть или показать элементы управления. Передайте в качестве аргумента объект со всеми элементами управления, которые вы хотите показать/скрыть, и установите значения элементов управления в true или false.
Добавить список событий для mouseout и mouseover на карту и задать параметры там.
Пример:
//the controls you want to hide
var controlsOut={
mapTypeControl:false,
zoomControl:false,
panControl:false,
streetViewControl:false
};
//create a copy of controlsOut and set all values to true
var controlsIn={};
for(var c in controlsOut)
{
controlsIn[c]=true;
}
//initially hide the controls
map.setOptions(controlsOut)
//add listeners to show or hide the controls
google.maps.event.addDomListener(map.getDiv(),
'mouseover',
function(e)
{
e.cancelBubble=true;
if(!map.hover)
{
map.hover=true;
map.setOptions(controlsIn);
}
});
google.maps.event.addDomListener(document.getElementsByTagName('body')[0],
'mouseover',
function(e)
{
if(map.hover)
{
map.setOptions(controlsOut);
map.hover=false;
}
});
0
Это, кажется, о только вопрос о том, чтобы элементы управления карты парить-только. Вышеприведенный ответ не совсем работал на меня, поэтому я подумал, что буду документировать свои собственные изменения:
// dom is the enclosing DOM supplied to new google.maps.Map
// controlsIn and controlsOut are hashes of options to set
// when the mouse enters or exits.
$(dom).mouseenter(function(evt) {
if (!map.hover) {
map.hover = true
map.setOptions(controlsIn)
}
});
$('body').mouseover(function(evt) {
if (map.hover) {
if ($(evt.target).closest(dom).length == 0) {
map.hover = false
map.setOptions controlsOut
}
}
});
Смежные вопросы
- 1. Элементы управления Google Maps скрыты
- 2. Удалить элементы управления Google Maps
- 3. Отключить элементы управления Google Maps
- 4. Показывать медленно при зависании
- 5. Google Maps: Как перемещать элементы управления увеличением?
- 6. Как заставить элементы управления Google Maps реагировать?
- 7. Google Maps embed отключает пользовательские элементы управления
- 8. Показывать различные элементы управления программно
- 9. Всегда показывать элементы управления видео
- 10. активировать элементы отдельно при зависании
- 11. jQuery прикрепить элементы при зависании?
- 12. IE7 Элементы сжимаются при зависании
- 13. Показывать содержимое всплывающей подсказки при его зависании
- 14. Показывать всплывающую подсказку при зависании на другом
- 15. Google Maps скрывает элементы управления на небольших экранах
- 16. Google Maps Javascript API настраиваемые элементы управления drop down
- 17. Google maps plugin - показывает элементы управления, но не данные
- 18. Bootstrap 2.3.2 вмешивается в элементы управления Google maps v.3
- 19. Backbone и Google Maps не показывать
- 20. Обратный вызов при загрузке элементов элементов управления Google Maps
- 21. Параметры управления Javascript Google Maps
- 22. Панель управления Google maps исчезает?
- 23. google maps управления уличным просмотром
- 24. Показывать кнопку при прокрутке карты с помощью Google maps v2
- 25. API Google Maps API Не показывать карту
- 26. Google Maps перестает показывать значки меток
- 27. Показывать значок Google Maps вместо динамического положения
- 28. Google maps v3: показывать сразу несколько маркеров
- 29. Как показывать продолжительность с помощью Google Maps?
- 30. Всегда показывать элементы управления увеличением на MapView
Вы могли бы взглянуть на crossborders.tv/client/frisbie. Прокрутите вниз до пункта «Контакт». Я не могу заставить ваш код работать. – user1215071
введите код выше справа после этой строки: 'map.mapTypes.set (frisbieMapID, mapType); ', работает для меня. –
спасибо! заработал! – user1215071