Вопрос

На карте Google есть около 100 маркеров, плюс есть один специальный маркер, который должен быть виден. В настоящее время маркеры вокруг него полностью скрываются или частично, когда карта уменьшилась. Мне нужен этот маркер, чтобы быть полностью видимым, и я думаю, что держать его на вершине всех других маркеров должен сделать трюк. Но я не могу найти способ изменить его порядок укладки (Z-индекс).

Это было полезно?

Решение

Использовать ZindexProcess. Опция в GmarkerOptions, когда вы создаете маркер, который вы хотите сверху. Например:

var pt = new GLatLng(42.2659, -83.74861);
var marker = new GMarker(pt, {zIndexProcess: function() { return 9999; }});
map.addOverlay(marker);

Я считаю, что по умолчанию должен быть Z-индекс, который является широтой точки маркера, поэтому это должно быть довольно безопасным при доведении одного маркера на фронт. Кроме того, это был просто простой пример; Вы можете установить Z-индекс всех ваших маркеров в любом простом или сложном способе. Другой пример состоит в том, чтобы иметь две функции: один для специальных маркеров и один для остальных.

var pt1 = new GLatLng(42.2659, -83.74861);
var pt2 = new GLatLng(42.3000, -83.74000);
var marker1 = new GMarker(pt1, {zIndexProcess: specialMarker});
var marker2 = new GMarker(pt2, {zIndexProcess: normalMarker});
map.addOverlay(marker1);
map.addOverlay(marker2);

function specialMarker() {
  return 9999;
}

function normalMarker() {
  return Math.floor(Math.random()*1000);
}

Другие советы

Это для Google Maps API 2.

Для Google Maps API 3 Используйте Setzindex (Zindex: номер) маркера.

Видеть:http://code.google.com/apis/maps/documentation/javascript/reference.html#marker.

Добавление ответа Jhanifen, если вы хотите получить свой один специальный маркер, чтобы быть на вершине всех остальных, установите Zindex в Google.maps.mapher.max_zindex + 1. Это убедитесь, что он находится на вершине любого маркера на карте.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top