Проблема с ярлыками OpenLayers - PullRequest
0 голосов
/ 21 апреля 2011

У меня большая проблема с ярлыками над OpenLayers.Feature.Vector.Когда я использую Canvas Renderer, все метки находятся под внешней графикой.Что вы можете увидеть здесь:

http://jsfiddle.net/67aaJ/

Не знаете, как заставить этикетки наноситься поверх маркеров.Легко ли размещать над маркерами метки с помощью, скажем, рендерера SVG, но в этом случае метки выглядят грязно, когда на месте несколько маркеров.Похоже, что первый рендерер рисует всю графику, а не все метки.Пример:

http://jsfiddle.net/6kXYh/1/

Я ищу решение (средство визуализации не имеет значения) для отображения маркеров с метками над ним, но без «меток коллизий», скажем, у нас есть 5 маркероводна позиция, но с разными метками Я ожидаю увидеть последнюю добавленную функцию externalGraphic и ее метку, предыдущие функции (и метки) должны быть ниже последней.

Пожалуйста, помогите!Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 октября 2013

Извиняюсь за ответ на очень старый вопрос, но для других, сталкивающихся с этим вопросом, альтернативное решение могло бы состоять в том, чтобы использовать стратегию кластера и маркировать кластер. для кластеров с более чем 1 функцией вы можете разделить запятыми или разделить \ n. Например, код здесь:

var style = new OpenLayers.Style({
  label: "${type}",
  fillColor: "#ffcc66",
  fillOpacity: 0.8,
  strokeColor: "#cc6633",
  strokeWidth: 2,
  strokeOpacity: 0.8
}, {
  context: {
     type: function(feature) {
       // concatenate labels and return
       return "the label";
     }
   }
});

адаптировано из: http://openlayers.org/dev/examples/strategy-cluster.html

0 голосов
/ 21 апреля 2011

У OpenLayers нет обнаружения коллизий, о котором я знаю.Я полагаю, вам придется сделать это самостоятельно или использовать какое-либо программное обеспечение для картографии в бэкэнде.

...