Я пытаюсь получить оверлей в google-картах api v3, чтобы появиться над всеми маркерами. Но похоже, что google api всегда ставит мой оверлей с наименьшим приоритетом z-индекса. Единственное решение, которое я нашел, - это повторить попытку через дерево DOM и вручную установить z-index на более высокое значение. Плохое решение.
Я добавляю свой новый div в свой оверлей с помощью:
onclick : function (e) {
var index = $(e.target).index(),
lngLatXYposition = $.view.overlay.getProjection().fromLatLngToDivPixel(this.getPosition());
icon = this.getIcon(),
x = lngLatXYposition.x - icon.anchor.x,
y = lngLatXYposition.y - icon.anchor.y
$('<div>test</div>').css({ left: x, position: 'absolute', top: y + 'px', zIndex: 1000 }).appendTo('.overlay');
}
Я пробовал все свойства, о которых я мог думать, создавая свой оверлей. zIndex, zPriority и т.д.
Я добавляю свой оверлей с помощью:
$.view.overlay = new GmapOverlay( { map: view.map.gmap });
И GmapOverlay наследуется от нового google.maps.OverlayView.
Любые идеи?
.. Фредрик