Jak mogę użyć obrazu SVG jako warstwa (więc nie jako znacznik na mapie) z OpenLayers-3Jak mogę użyć obrazu SVG jako warstwy na OpenLayers-3
nie byłem w stanie uzyskać żadnych wyjście mój obraz SVG podczas korzystania z instancji ol.source.Vector
i .
Mały przykład: (?)
var mapLayer = new ol.layer.Vector({
source: new ol.source.Vector({
url: 'image.svg',
format: new ol.format.Feature() // http://openlayers.org/en/v3.12.1/apidoc/ol.format.Feature.html
}),
});
udało mi się uzyskać moc podczas korzystania z ImageStatic warstwę, ale używa/generuje statyczny obraz tak zalety SVG zniknęły.
Przykład:
// Not sure if I need this for SVG, but is is required for an image
var extent = [0, 0, 1000, 1000]; // random image size
var projection = new ol.proj.Projection({
code: 'test',
units: 'pixels',
extent: extent
});
var mapLayer = new ol.layer.Image({
source: new ol.source.ImageStatic({
url: 'image.svg',
projection: projection,
imageExtent: extent
})
});
Próbowałem już sprawę z ustawieniem Content-type:
do image/svg+xml
ale mi to nie pomaga w ogóle.
Tak, znowu: Jak mogę (jeśli to możliwe) użyć obrazu SVG jako warstwy z OpenLayers-3?
jestem ciekaw, w jaki sposób chcesz wykorzystać zalety SVG, inne niż w postaci statycznego obrazu? – PSorey
No cóż, do moich pomysłów (i proszę mnie poprawić, jeśli się mylę) powinienem móc dodać "powiększalną" warstwę SVG, więc nawet gdy powiększysz obraz nie dostaniesz pikselu i pozostaniesz ostry. Zwykle używamy go do planów pięter, więc SVG (lub może inny format wektorowy) będzie świetny. Obraz statyczny jest nadal możliwy, ale po powiększeniu zawsze będzie on niewyraźny. – Matthijs
Ciągle pracuję z OL3 i zastanawiam się nad SVG. Potrzebuję również rysunków wektorowych w stylu CAD na warstwach bazowych, a z komentarzy, które przeczytałem, może SVG nie jest jeszcze obsługiwany? Można jednak zdecydowanie użyć typów Punkt, LiniaLinia i Wielokąt, aby utworzyć warstwę z możliwością powiększania. Mam zamiar spróbować [ogr2ogr, aby przetłumaczyć DXF na GeoJSON.] (Http://ogre.adc4gis.com/) – PSorey