Я использовал Google api Overlayviews. Я смог добавить пользовательские наложения с элементом html div в позиции latlng, используя значения пикселей.Как добавить пользовательский элемент html dom в слоях Openlayer 3
USGSOverlay.prototype.draw = function() {
var overlayProjection = this.getProjection();
var sw = overlayProjection.fromLatLngToDivPixel(this.bounds_.getSouthWest());
var ne = overlayProjection.fromLatLngToDivPixel(this.bounds_.getNorthEast());
var div = this.div_;
div.style.left = sw.x + 'px';
div.style.top = ne.y + 'px';
div.style.width = (ne.x - sw.x) + 'px';
div.style.height = (sw.y - ne.y) + 'px';
};
Теперь я использую OpenLayer 3. Есть ли возможность добавить пользовательский элемент Div как маркер в определенном положении с использованием значений пикселей. Каждый раз, когда карта масштабируется или масштабируется, я могу найти положение пикселя и обновить верхний и левый элементы div, чтобы он оказался в правильном положении. В OpenLayer3 есть какая-то возможность.
спасибо. Если мне нужно изменить положение наложения, которое было добавлено ранее, мне нужно использовать setposition. Но если у меня есть больше оверлеев, скажите 50, как я могу определить желаемый объект оверлея. Нужно ли мне сохранять ссылку на объект overlay и прокручивать его каждый раз? –
Да, вам понадобится цикл, если вы не создадите уникальный идентификатор для каждого наложения и не создадите объект, содержащий их, и используйте ключ id как ключ для прямого доступа к нему (это позволит избежать цикла). Мне кажется, что вы должны пойти со слоем. –