2013-08-05 2 views
0

С момента обновления до OpenLayers 2.13, я пытаюсь разместить мои авторские права на Google Map в нижнем левом углу страницы, но он всегда хочет перейти в нижний правый.Как разместить Google 'gmnoprint' copyright

Я попытался это во время загрузки (не работает):

.gmnoprint{ 
left:'0px'; 
right:''; 
} 

Я попытался модифицируя то, что я думаю, соответствующие строки в Openlayers.js (не работает):

e = document.createElement("div"); 
e.id = this.map.id + "_GMap2Container"; 
e.style.position = "absolute"; 
e.style.width = "100%"; 
e.style.height = "100%"; 
d.appendChild(e); 
try { 
    a = new GMap2(e), b = e.lastChild, d.appendChild(b), b.style.zIndex = 
     "1100", b.style.right = "",b.style.left = "0px", b.style.bottom = "", b.className = "olLayerGoogleCopyright", c = e.lastChild, d.appendChild(c), c.style.zIndex = "1100", c.style.right = "",c.style.left = "0px", c.style.bottom = "", c.className = "olLayerGooglePoweredBy gmnoprint" 
} catch (f) { 
    throw f; 
} 

Я попробовал это после загрузки с помощью jQuery (работает, но только если вы установите тайм-аут, который является менее оптимальным, поскольку он вызывает мерцание при его перепозиции):

$('.gmnoprint').css({'left':'0px','right':''}) 

Что я делаю неправильно с первыми двумя попытками?

ответ

1

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

Я предполагаю, что второй не работает, потому что некоторые javascript google там возились, кроме openlayers.js. Но это всего лишь предположение.

Вы можете зарегистрироваться в качестве исполнителя событий на уровне и установить там css, но это не решит вашу проблему мерцания.

Here - это своего рода решение, которое сработало для моих нужд.

Смежные вопросы