OL 4 - активен только первый маркер (функция), почему? - PullRequest
0 голосов
/ 05 июня 2018

Я абсолютный новичок в OL - просто владелец генеалогического сайта, пытающийся сохранить карты, от которых я зависел, из-за того, что G ** gle отключил меня 11 июня. "Нет информации о CC = Нет карт ..."

Все карты видны и работают, кроме самой базовой.Я использую OL 4.6.5.Вот пример этой карты: https://xerxx.se/clicktest.html
Моя проблема в том, что только первый маркер реагирует на щелчок мышью и наведение курсора.Я испробовал оба эти решения, которые я нашел на этом сайте:

map.on('singleclick', function(event) {
    map.forEachFeatureAtPixel(event.pixel, function(feature,layer) {
    alert("A SC NAME = *"+feature.get('name')+"*");
    });
});

/*
map.on('singleclick', function(e) {
  var iconFeatureA = map.getFeaturesAtPixel(e.pixel);
  if (iconFeatureA !== null) {
    var name = iconFeatureA[0].get("name");
    alert("B SC NAME = *"+name+"*");
    e.preventDefault(); // avoid bubbling 
  }
}); 
*/

Первый фрагмент в настоящее время используется в этом примере.
Мне удалось сделать пример тепловой карты здесь https://openlayers.org/en/latest/examples/earthquake-clusters.html вчто-то, что работает действительно приятно - пример: https://xerxx.se/heattest.html
Каждый маркер с одним местом показывает информацию, поэтому я попытался построить базовую карту таким образом (читая .kml-строку), но она также была только первоймаркер, который был «активным».(И я не мог получить маркеры разных цветов)

Пожалуйста: Может кто-нибудь объяснить, как я могу активировать все маркеры, как на тепловой карте - я в отчаянии: я не хочу давать G ** gle my CC info!
Мне больше не нужно, чтобы JS alert () - всплывающие окна («текстовые шарики») можно было добавить позже.

Заранее спасибо ,
Эрик - 100% OL новичок

1 Ответ

0 голосов
/ 05 июня 2018

Ваш код в порядке.Координаты не.

Допустимые координаты находятся в диапазоне [-180; 180].Ваша точка 2 находится на

 var lon = 291.620235443;

, установите на

var lon = 291.620235443 - 360;

, и она будет работать.

Если вы используете отладчик браузера, вы увидите, чтос текущей картой функция map.on('singleclick', function(event) {...}); вызывается для точки # 2, но в этом месте не найдено ни одного объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...