0

在尝试在 django-leaflet 上放置标记时,我的标记在 GeoDjango 管理员中使用 django-leaflet 将 (Lat, Lng) 反转为 (Lng,Lat)。如何将 admin.py 小部件表单更正为 Lat、Lng 坐标?

from django.contrib import admin
from django.contrib.gis.db import models as geo_models
from leaflet.admin import LeafletGeoAdmin
from .models import Apartment,User
from django.contrib.auth.admin import UserAdmin
from leaflet.forms.widgets import LeafletWidget


LEAFLET_WIDGET_ATTRS = {
    'map_height': '500px',
    'map_width': '100%',
    'display_raw': 'true',
    'map_srid': 4326,
}


LEAFLET_FIELD_OPTIONS = {'widget': LeafletWidget(attrs=LEAFLET_WIDGET_ATTRS)}

FORMFIELD_OVERRIDES = {
    geo_models.PointField: LEAFLET_FIELD_OPTIONS,
    geo_models.MultiPointField: LEAFLET_FIELD_OPTIONS,
    geo_models.LineStringField: LEAFLET_FIELD_OPTIONS,
    geo_models.MultiLineStringField: LEAFLET_FIELD_OPTIONS,
    geo_models.PolygonField: LEAFLET_FIELD_OPTIONS,
    geo_models.MultiPolygonField: LEAFLET_FIELD_OPTIONS,
}
4

2 回答 2

1

显然,GeoDjango使用x,y(经度,纬度)坐标对而传单使用(lat,lng),这导致坐标反转。显然,我尝试了传单方法coordslatlng,但没有必要,因为L.geoJSON需要(lng,lat ) 坐标对。我仍然不清楚我最终是如何转换职位的。

于 2020-05-27T20:45:00.123 回答
0

他们无需更改此设置,因为纬度和经度值始终保持不变。谷歌地图使用 (Long, lat) 和传单使用 (lat,long)。

于 2020-05-24T10:12:51.613 回答