Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
.idea/*
.idea/
/dist/
__pycache__/
*.py[codz]
*$py.class
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ and the versioning aim to respect [Semantic Versioning](http://semver.org/spec/v

Here is a template for new release sections

## [unreleased]
### Changed
- Removed dependency on djangorestframework-mvt

## [3.2.1] - 2025-09-26
### Fixed
- legend tooltip wordwrap and width
Expand Down
16 changes: 13 additions & 3 deletions django_mapengine/mvt.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
from django.db.models import QuerySet
from rest_framework.response import Response
from rest_framework.serializers import ValidationError
from rest_framework_mvt.views import BaseMVTView
from rest_framework.views import APIView

from django_mapengine.renderers import BinaryRenderer


@dataclass
Expand All @@ -27,10 +29,18 @@ def render(self):
return retval


class MVTView(BaseMVTView):
"""Use MVTView in urls.py to create MVTs from models"""
class MVTView(APIView):
"""
Use MVTView in urls.py to create MVTs from models

Schema for GET query:
title: required, TMS coordinates of the requested tile. The format should be tile=z/x/y
limit: optional, Number of results to return per page.
offset: optional, The initial index from which to return the results.
"""

layers: List[MVTSourceLayer] = []
renderer_classes = (BinaryRenderer,)

def get(self, request, *args, **kwargs):
params = request.GET.dict()
Expand Down
12 changes: 12 additions & 0 deletions django_mapengine/renderers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from rest_framework.renderers import BaseRenderer


class BinaryRenderer(BaseRenderer):
media_type = "application/*"
format = "binary"
charset = None
render_style = "binary"

# pylint: disable=no-self-use,unused-argument
def render(self, data, accepted_media_type=None, renderer_context=None):
return data
Loading