首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >geodjango管理员未提供几何值

geodjango管理员未提供几何值
EN

Stack Overflow用户
提问于 2012-10-11 08:46:05
回答 2查看 1.8K关注 0票数 1

我正在为我喜欢的项目尝试geodjango,除了一个例外,一切看起来都很好。

在我的模型中,我有一个这样的字段:

代码语言:javascript
复制
coordinates= models.PointField(srid=4326,default='POINT(0.0 0.0)')

我的管理员是从admin.OSMGeoAdmin扩展而来的,但是当我在管理员中打开一个新的模型实例时,我没有看到在地图中选择的'0.00,0.00‘点,如果我试图保存文档,我会得到'No geometry’。就像管理员就是不能把点放在地图上。

此外,如果我尝试使用shell,我可以保存没有问题的实例,并获得具有缺省值POINT(0.0,0.0)的字段。

我是不是在管理中遗漏了什么?

谢谢你的任何提示!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-16 09:33:57

好了,在摆弄了一下开放的layers.html之后(感谢noisyboiler!)我发现OSMGeoAdmin display_wkt上有一个属性,将其设置为True将显示textArea,而不会破坏模板。

对于具有现有点的条目,它包含以下格式的值:

代码语言:javascript
复制
SRID=3857;POINT(890338.8453418 -1109499.0330941)

因此,我只需将我的点字段更改为:

代码语言:javascript
复制
coordinates= models.PointField(srid=4326,default='SRID=3857;POINT(0.0 0.0)')

我从Spherical Mercator那里了解到的是,4326是用于二维地图的,但似乎谷歌地图使用的是3857,其中包括一个球面投影。

现在可以工作了!

票数 2
EN

Stack Overflow用户

发布于 2012-10-13 23:57:50

我也有同样的问题。这很奇怪。什么是获取POSTed是没有意义的。但是提交的并不是这个值。所以我关掉了JS ..。哇。提交了正确的值,我有点高兴,但这不是一个解决方案。但是我不知道是什么javascript在做这件事。我已经在Django 1.3和1.4上尝试过了。你有什么好运气吗?

更新。又一个“解决方案”……覆盖openlayers.html并将文本区域转换为标准文本输入。哇。又起作用了。

解决了!

所以我的花了点功夫...但是我的管理员使用tinymce..。Tinymce在文本上工作是的.它搞砸了窗口小部件的文本区域,但却是如此的默默无声。

editor_deselector:"vWKTField“

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12830597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档