Отключить тень информационного окна в Google Maps (v2) - PullRequest
0 голосов
/ 14 декабря 2010

Есть ли способ отключить автоматически сгенерированную тень для информационного окна для маркера?

Я пытаюсь обойти ошибку, о которой сообщалось в http://www.google.com/support/forum/p/maps/thread?tid=69bcc3217ee1ac68&hl=en, где тень имеет большие черные метки вокруг нее, которые скрывают вид карты при просмотре в IE 8 при любом уровне масштабирования, кроме 100%.

Ответы [ 3 ]

1 голос
/ 16 декабря 2010

Существует очень простое решение вашей проблемы: спрятать оба слоя теней. Таким образом, вы можете быть уверены, что все объекты скрыты (даже те, которые были добавлены после скрытия)

var map = GMap2(...);
...
var pane;

//contains the info window shadow image
pane = map.getPane(G_MAP_FLOAT_SHADOW_PANE);
pane.style.display = "none";

//contains the marker shadow images
pane = map.getPane(G_MAP_MARKER_SHADOW_PANE);
pane.style.display = "none";

Еще один вопрос - как определить условия, при которых слои должны быть скрыты ...

1 голос
/ 14 декабря 2010

Похоже, что только для IE 8 вам придется пройти через дом, найти теневые изображения (iws3.png) и спрятать их.Если в вашем распоряжении есть jQuery, то после загрузки карты просто наберите

$('img[src$="iws3.png"]').hide();

.

Или, если у вас нет jQuery, что-то вроде ...

var i, imgs = document.getElementsByTagName('img');
for (i = 0; i < imgs.length; i++) {
    if (/iws3\.png/.test(imgs[i].src)) {
        imgs[i].style.display = "none";
    }
}

PS @Crescent Fresh, вот скриншот: alt text

0 голосов
/ 07 января 2011

Но в V3 вы не используете GMap2

Мне удалось отключить тени с помощью следующего CSS:

div.gmnoprint div img 
{
    display: none;
}

В V2 у вас было:

map.getPane(G_MAP_FLOAT_SHADOW_PANE).style.display = "none";
map.getPane(G_MAP_MARKER_SHADOW_PANE).style.display = "none";

Кажется, что в V3 вы можете получить доступ только к панелям в OverlayView (?)

...