2014-11-13 2 views
0

Я делаю карту с OpenLayers 3, у меня есть координаты (EPSG: 3857) в PostgreSQL, а слой карты - OSM (тот же проектор, что и иконки, EPSG: 3857).OpenLayers 3 icon projection

Проблема в том, что когда я увеличиваю масштаб, значок исчезает ... но если я уменьшаю значок, не исчезайте HAHAHAHA.

Кто-то сказал мне, что я должен видеть, что проекция ICONS < -> LAYER должна быть такой же.

Может кто-нибудь мне помочь, пожалуйста?

Я новичок в StackOverflow,

Спасибо за прочитал мне,

Энрике.

Примечание: Мой код в JSFiddle, можно увидеть здесь: jsfiddle.net/y3sLksg6/

+0

Ваш jsfiddle ничего не показывает. Не могли бы вы переписать его? –

+0

Привет Андерс, моя проблема в том, что у меня есть координаты в EPSG3857 в базе данных (postgresql). Я рисую функцию с этими координатами ... но если я увеличиваю масштаб, значок исчезает, и если я уменьшаю значок, это видно. Извините за мой английский ... –

+0

Пожалуйста, кто-нибудь может мне помочь? Это очень важно для моего проекта. Это проблема с проекциями. –

ответ

1

Попытка установить стиль для каждого из маркеров по отдельности, как показано ниже exaple, который является копией с вашего jsfiddle:

function AddMarkers() { 
//create a bunch of icons and add to source vector 
    var sizeY = Object.size(coordenadas); 
    var x = null; 
    var y = null; 

    for (var i = 0; i < sizeY; i++) { 
    x = coordenadas[i].Longitude; 
    y = coordenadas[i].Latitude; 
    var iconFeature = new ol.Feature({ 
     geometry: new ol.geom.Point([x, y]), 
     name: 'Marker ' + i, 
     population: 4000, 
     rainfall: 500 
    }); 
    markers[i] = [x, y]; 

    var iconStyle = new ol.style.Style({ 
     image: new ol.style.Icon(({ 
      anchor: [0.5, 46], 
      anchorXUnits: 'fraction', 
      anchorYUnits: 'pixels', 
      opacity: 0.75, 
      src: './img/circleRed.png' 
     })) 
    });  
    // This is new ! 
    iconFeature.setStyle(iconStyle); 

    vectorSource.addFeature(iconFeature); 
} 
return vectorLayer; 
} 
+0

Доброе утро! Спасибо за вашу помощь, но у меня такая же проблема. Когда я создаю карту, значки появляются в Африке. Если я установил фиксированные координаты, значок появится в правильном месте, но если я получу координаты из PostgreSQL, у меня возникнет такая проблема. Координаты в PostgreSQL находятся в EPSG3857, а мой слой - OSM, который использует ту же самую проекцию. Я не понимаю ... –

Смежные вопросы