Джанго листовка холст - PullRequest
0 голосов
/ 08 июня 2018

Как сделать рендеринг django-листовки с помощью canvas?Я проверил в документации листовки, что он должен использовать preferCanvas, но в листовке django нет руководства, которое показывает, как это сделать, а карта вар где-то спрятана ... Любая подсказка

1 Ответ

0 голосов
/ 08 июня 2018

Даже если у вас нет доступа к preferCanvas опции или renderer опции L.Map, вы все равно можете использовать renderer опция отдельные векторные слои .

При использовании этого в без django, ванильный JavaScript будет выглядеть так:

var map = new L.Map('leaflet', { /* map options */ });

var myCanvasRenderer = L.canvas();

var circle = L.circleMarker([0, 0], {
  radius: 30,
  renderer: myCanvasRenderer
}).addTo(map);

var line = L.polyline([[60, 10],[20, 200]], {
  renderer: myCanvasRenderer
}).addTo(map);

Убедитесь, что вы 'создайте L.Canvas рендерер один раз и повторно используйте его во всех ваших векторных слоях.

Вы можете подтвердить это, используя инструменты разработчика вашего веб-браузера и заметив, что есть *Элемент 1023 * внутри контейнера карты Leaflet, но элемент <svg> не найден:

Вы можете увидеть этот пример здесь .

...