Ich brauche den GeoJSON Vektordaten von EPSG zu transformieren: 4326 EPSG: 3857 ...Openlayers 3 Reprojizier EPSG: 4326 Vektor EPSG: 3857
Ich habe eine Karte ...
var olMapDiv = document.getElementById('olmap');
control.map = new ol.Map({
target: olMapDiv,
renderer: 'canvas',
layers: layers,
interactions: ol.interaction.defaults({
altShiftDragRotate: false,
dragPan: false,
rotate: false
}).extend([new ol.interaction.DragPan({ kinetic: null })]),
pixelRatio: 1,
loadTilesWhileAnimating: true,
loadTilesWhileInteracting: true,
view: view
});
und Blick ...
var view = new ol.View({
// make sure the view doesn't go beyond the 22 zoom levels of Google Maps
maxZoom: 21,
projection: 'EPSG:3857',
center: [0, 0],
zoom: 0
});
Ich definiere meine GeoJSON Objekt ...
var geoJsonObj = {
'type': 'Feature',
'geometry': JSON.parse(shape),
'name': 'V',
'id': V.vID
}
Ich versuche, die Funktionen in einem offenen Schichten Vector-Objekt zu lesen und Projektionsparameter liefern ...
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(geoJsonObj, {defaultDataProjection:"EPSG:4326",featureProjection:"EPSG:3857"})
});
Dann verwende ich die "vectorSource" oben in einer neuen Vektorschicht ...
vectors = new ol.layer.Vector({
title: V.vID,
source: vectorSource,
id: V.vID,
name: 'V',
label: response.VList[key].Acres,
fill: response.VList[key].Shade,
stroke: defaultStrokeHex,
style: function (feature, resolution) {
var text = resolution * 100000 < 10 ? response.VList[key].Acres : '';
if (text != "") {
styleCache[text] = [new ol.style.Style({
stroke: new ol.style.Stroke({
color: '#319FD3',
width: 1
}),
text: new ol.style.Text({
font: '12px Calibri,sans-serif',
text: text,
fill: new ol.style.Fill({
color: '#000'
}),
stroke: new ol.style.Stroke({
color: '#fff',
width: 3
})
}),
fill: new ol.style.Fill({
color: rcisWebMapUtilities.convertHex(response.VList[key].Shade, '0.5')
})
})];
}
else if (text == "") {
styleCache[text] = [new ol.style.Style({
fill: new ol.style.Fill({
color: rcisWebMapUtilities.convertHex(response.VList[key].Shade, '0.5')
})
})
]
} return styleCache[text];
}
});
Egal was ich tue, ich entweder sehe der Vektor gezogen ... aber in EPSG: 4326 oder nichts Lasten ...
ich viel zu viel Zeit damit verbracht habe versucht, herauszufinden, wie um OpenLayers3 dazu zu bringen dies zu tun ... Jede Hilfe wird sehr geschätzt !!
Großartig! Danke für die Antwort und die Hilfe !! Ja, das Geojson wird in EPSG projiziert: 4326 ... Ich habe die Änderungen (** Siehe oben **) gemacht, die Sie in Ihrer Antwort vorgeschlagen haben, und jetzt lädt die Karte überhaupt nicht ... zum Beispiel, ich nicht einmal Siehe "ZoomSlider" hinzugefügt. –
Keine Fehler? Keine Brandstifter? Einfach nicht laden ?? Möchten Sie eine Geige bereitstellen, damit wir herausfinden können, was Ihr Problem ist – pavlos
Es funktioniert ... was ich nicht sah, ist, dass es einen anderen Fehler gab, der nicht ausgelöst wurde, der verursachte, Seite falsch zu laden .. .once Ich habe den Fehler behoben, alles funktioniert wie erwartet. Vielen Dank!! –