Проблема с GraphicsLayer

0 голосов
спросил 16 Янв, 18 от ldokov (580 баллов)
Добрый день, коллеги !

Пишу Виджет для Веб-карты на JS, есть такой кусок кода:

var pointSymbol = new PictureMarkerSymbol (pathImg + '/images/point.png', 20, 20);
var textSymbol = new TextSymbol ();
var font = new Font();
var graphicsLayer = new GraphicsLayer ();
map.addLayer (graphicsLayer);
font.setSize("11px");
font.setWeight (Font.WEIGHT_BOLD);
font.setFamily ('Verdana');
textSymbol.setFont (font);
textSymbol.setColor (new Color ([255, 0, 0, 1]));
textSymbol.setHaloColor (new Color ([255, 255, 255, 1]));
textSymbol.setHaloSize (1.5);
textSymbol.setOffset (0, 12);

....

....

var pointsToMap = new esri.geometry.Point (pointXYDeg[pntToMap], new SpatialReference ({wkid:4326}));
var pointGraphic = new esri.Graphic (pointsToMap, pointSymbol);
graphicsLayer.add (pointGraphic);
textSymbol.setText (parseInt (pntToMap) + 1);
var textGraphic = new esri.Graphic (pointsToMap, textSymbol);
graphicsLayer.add (textGraphic);

Всё работает, всё хорошо, точки и надписи добавляются на карту где нужно.

Но при смене экстента карты слой куда-то исчезает, т.е. после этого его нет в DOM.

Коллеги, какие будут соображения по этому поводу.

Буду рад Вашим предложениям.

1 Ответ

0 голосов
ответил 16 Янв, 18 от Grigoriy (127,020 баллов)
оставил комментарий 16 Янв, 18 от ldokov (580 баллов)
Grigoriy, спасибо за ответ. А по более ранним версиям JS API (ниже 4.x, например 3.22) есть какие-нибудь предложения. Просто на сервере стоит 3.22.
оставил комментарий 16 Янв, 18 от ldokov (580 баллов)
Спасибо, Grigoriy. У меня изначально был этот вариант. Но вроде бы разобрался в чём была проблема. Ещё раз спасибо.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...