OpenLayers и KML

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
solov
Новоприбывший
Сообщения: 2
Зарегистрирован: 19 фев 2011, 10:00
Репутация: 0

OpenLayers и KML

Сообщение solov » 05 апр 2012, 17:40

Добрый день, уважаемые.

Не пинайте сразу ногами, я здесь начинающий и нужно очень срочно начальству показуху устроить и нет времени разобраться в простейшем, поэтому надеюсь на вашу помощь.

Есть такой простенький скрипт

var lon = 34.999244;
var lat = 48.463564;
var zoom = 16;

var map = new OpenLayers.Map("map");

var osm = new OpenLayers.Layer.OSM("OpenStreetMap", null, { transitionEffect: "resize"});
map.addLayer(osm);

var KML = new OpenLayers.Layer.Vector("KML", {
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.HTTP({
url: "a.kml",
format: new OpenLayers.Format.KML({
extractStyles: true,
extractAttributes: true,
maxDepth: 2
})
})
});
map.addLayer(KML);

map.setCenter(new OpenLayers.LonLat(lon,lat).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
), zoom
);

Цель его отобразить на карте вот такой KML

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<name>KML Samples</name>
<Placemark>
<name>aaa --- bbb</name>
<description>aaa --- bbb</description>
<LineString>
<extrude>1</extrude>
<LineStyle>
<width>222</width>
</LineStyle>
<coordinates>34.999244,48.463564 35.904533,48.777539 34.904235,48.477965 34.903571,48.47775 34.904323,48.47675 </coordinates>
</LineString>
</Placemark>
</Document>
</kml>

Проблема в том, что рисует тонкую линию желтым цветом.
Подскажите, где нужно исправить, как правильно задать параметры цвета и толщину линии

Спасибо за внимание и жду ответа...

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayers и KML

Сообщение Denis Rykov » 06 апр 2012, 09:59

Опишите объект styleMap и укажите его при создании слоя, пример.
Spatial is now, more than ever, just another column- The Geometry Column.

solov
Новоприбывший
Сообщения: 2
Зарегистрирован: 19 фев 2011, 10:00
Репутация: 0

Re: OpenLayers и KML

Сообщение solov » 07 апр 2012, 16:05

Да, спасибо, для одной линии помогло (да и для всех моих 30000 линий, которые я хочу изобразить), цвет и толщину линии таким приемом (указанием styleMap как в указанном Вами примере) изменить удалось. Только вот захотелось сразу несколько цветов для разных линий указать, сделал при создании слоя несколько styleMap, только вот никак не удается заставить в KML для каждой линии указать каким стилем рисовать конкретную линию. Или это не возможно и они все рисуются стилем default ? Подскажите пожалуйста...

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: OpenLayers и KML

Сообщение Denis Rykov » 08 апр 2012, 07:26

Есть какой-то принцип по которому следует раскрасить линии, например, значение того или иного атрибутивного поля или раскрасить линии нужно рандомно?
Spatial is now, more than ever, just another column- The Geometry Column.

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: Semrush [Bot] и 1 гость