Отображение точек Openlayers из конечной точки REST API Geodjango
Я пытаюсь отобразить точки на карте OSM, используя Openlayers и (Geo)Django. Точки должны быть предоставлены конечной точкой REST API, которую я хочу запросить из openlayers javascript.
JS-часть выглядит следующим образом:
<div id="map" class="map shadow m-auto"></div>
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Vector({
source: new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: "http://localhost:8000/api/sites"
})
}) ,
new ol.layer.Tile({
source: new ol.source.OSM(),
})
],
view: new ol.View({
center: ol.proj.fromLonLat([8,48]),
zoom: 10
})
});
</script>
Конечная точка API просто сериализует django queryset и поэтому возвращает следующее:
[
{
"sid":13,
"site_name":"Burgsteig",
"site_notes":"Reuter.2003",
"municipality":1047,
"geom":{
"type":"Point",
"coordinates":[
8.779644092464917,
48.00504767358004
]
}
},
{
"sid":14,
"site_name":"Brederis, \"Weitried\"",
"site_notes":"Hagn2002",
"municipality":16180,
"geom":{
"type":"Point",
"coordinates":[
9.628734475883569,
47.2756455228491
]
}
},
{
"sid":15,
"site_name":"Burgweinting, \"Villa\"/\"Mühlfeld\"",
"site_notes":"Zintl2012, Zintl2013",
"municipality":2767,
"geom":{
"type":"Point",
"coordinates":[
12.11373087937611,
49.01308089544727
]
}
}
]
Это просто базовая конечная точка API от django-rest-framework и, насколько я знаю, возвращает довольно стандартный набор данных в формате geoJSON. Однако, при запуске этой функции я получаю "Uncaught Error: Unsupported GeoJSON type: undefined". Карта отображается, просто что-то не так с этим geojson. Насколько я понимаю, API возвращает не GeoJSON, как в ol.format.GeoJSON(), а что-то другое. Так как же мне обработать эту штуку, чтобы она отображалась на моей карте?