Карты Google. Изменение порядка наложения плитки на панели?

Продолжение моего предыдущего вопроса: Как изменить слои KML и Tile Overlays в Картах Google?

В настоящее время я переписываю часть кода, касающегося кнопок, которые включают и отключают наложение плитки с использованием массивов. При этом я пытаюсь объединить все отдельные функции кнопки в одну функцию, но, поскольку у меня есть два метода рендеринга наложений, я надеялся попробовать и просто сосредоточиться только на одном методе. Первый использует "overlayMapTypes":

map.overlayMapTypes.insertAt(0, beloitMapType);

Второй, используя сценарий, указанный в моем предыдущем вопросе:

this.getPanes().overlayShadow.appendChild(this.settings.div_);

Первый метод — мой оригинальный подход; однако, поскольку я использую многоугольники в режиме просмотра со спутника, мне нужен был способ разместить наложения значков/имен над цветными многоугольниками. Чтобы достичь этого, я искал что-то похожее на последний метод, где определенные наложения можно было бы разместить на панель выше полигонов и, таким образом, появляется над ними.

Однако за время между моим предыдущим вопросом и сейчас, а также благодаря некоторым моим собственным исследованиям, я пришел к выводу, что последний метод, вместо того, чтобы размещать плитки на их местах, оценивает местоположение плитки и места. это как наложение изображения. В результате часть моего слоя специальных возможностей, цвета в недоступных путях которого были смещены на один или два пикселя, или мое наложение с названием здания в настоящее время имеет имена на границе двух плиток, которые имеют четкая линия, проходящая через них, так как эти две плитки слегка перекрываются. Кроме того, эти две проблемы возникают и исчезают каждый раз при загрузке карты, когда каждый тайл размещается на карте с отклонением в 1-2 пикселя в любом направлении.

Таким образом, я бы предпочел использовать предыдущий метод с overlayMapTypes, который является более надежным и точным, для всех наложений, но мне также нужен способ вывести некоторые из этих наложений выше панели «overlayLayer» и над многоугольники. Возможно ли это и если да, то как это можно сделать?


Дополнение: мне также нужно попытаться найти метод для переназначения панелей с помощью метода overlayMapType: скрипт, который я использую для этого, не работает в IE7/8. . Я собираюсь исследовать этот аспект сам, но я бы предпочел полностью отказаться от сценария, если это возможно.


person Nick Mischler    schedule 25.06.2012    source источник


Ответы (1)


Что ж, я наткнулся на возможное решение и, чтобы поделиться им, позвольте мне объяснить:

  • Полигоны не обязательно должны быть видимыми, чтобы по-прежнему иметь события щелчка и наведения.

  • Поскольку полигоны используются для раскрашивания зданий и пои в режиме просмотра со спутника, такой визуальный компонент можно легко сделать с помощью наложения.

Таким образом, возможное решение состоит в том, чтобы сделать все полигоны невидимыми и просто использовать их для событий щелчка и наведения. Аналогично, второе наложение или модификация существующего заменит исходный визуальный компонент полигона. Поскольку этот визуальный компонент теперь является наложением, как и все остальное, его можно легко наложить на любое другое наложение с помощью метода «MapType».

(Однако это не отвечает на вопрос, а именно, могут ли наложения листов и полигоны быть наслоены только с помощью метода MapType? Я все еще хотел бы это знать, но в случае отсутствия ответа, надеюсь, это возможная альтернатива.)

person Nick Mischler    schedule 29.06.2012
comment
Это работает, учитывая отсутствие другого ответа, я реализовал это. - person Nick Mischler; 02.07.2012