Страница 1 из 1

Нарисовать полигон по координатам, OpenLayers

Добавлено: 27 янв 2017, 09:04
sayaton
Как имея координаты нарисовать полигон в OpenLayers (OpenStreetMap)? Нашел вот это в интернете, как-то можно упростить?

Код: Выделить всё

<script>
    var vectorSource = new ol.source.Vector({});

    var map = new ol.Map({
        layers: [
            new ol.layer.Tile({
                //source: new ol.source.MapQuest({ layer: 'sat' })
                source: new ol.source.OSM()
            }),
            new ol.layer.Vector({
                source: vectorSource
            })
        ],
        target: 'map',
        view: new ol.View({
            center: [-11000000, 4600000],
            zoom: 4
        })
    });

    var thing = new ol.geom.Polygon([[
        ol.proj.transform([-16, -22], 'EPSG:4326', 'EPSG:3857'),
        ol.proj.transform([-44, -55], 'EPSG:4326', 'EPSG:3857'),
        ol.proj.transform([-88, 75], 'EPSG:4326', 'EPSG:3857')
    ]]);
    var featurething = new ol.Feature({
        name: "Thing",
        geometry: thing
    });
    vectorSource.addFeature(featurething);

</script>
Как здесь работать с нормальными широтой и долготой типа 55.7522, 37.6155

Re: Нарисовать полигон по координатам, OpenLayers

Добавлено: 27 янв 2017, 19:45
ericsson
А что, по вашему, происходит в ol.proj.transform([-16, -22], 'EPSG:4326', 'EPSG:3857') ?

Re: Нарисовать полигон по координатам, OpenLayers

Добавлено: 27 янв 2017, 23:14
Denis Rykov
А что сложного, вот демо набросал - можете поиграться: https://jsfiddle.net/6wkpfwk7/ В чём ваш вопрос я так и не понял.