我正在为我喜欢的项目尝试geodjango,除了一个例外,一切看起来都很好。
在我的模型中,我有一个这样的字段:
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)的字段。
我是不是在管理中遗漏了什么?
谢谢你的任何提示!
发布于 2012-10-16 09:33:57
好了,在摆弄了一下开放的layers.html之后(感谢noisyboiler!)我发现OSMGeoAdmin display_wkt上有一个属性,将其设置为True将显示textArea,而不会破坏模板。
对于具有现有点的条目,它包含以下格式的值:
SRID=3857;POINT(890338.8453418 -1109499.0330941)因此,我只需将我的点字段更改为:
coordinates= models.PointField(srid=4326,default='SRID=3857;POINT(0.0 0.0)')我从Spherical Mercator那里了解到的是,4326是用于二维地图的,但似乎谷歌地图使用的是3857,其中包括一个球面投影。
现在可以工作了!
发布于 2012-10-13 23:57:50
我也有同样的问题。这很奇怪。什么是获取POSTed是没有意义的。但是提交的并不是这个值。所以我关掉了JS ..。哇。提交了正确的值,我有点高兴,但这不是一个解决方案。但是我不知道是什么javascript在做这件事。我已经在Django 1.3和1.4上尝试过了。你有什么好运气吗?
更新。又一个“解决方案”……覆盖openlayers.html并将文本区域转换为标准文本输入。哇。又起作用了。
解决了!
所以我的花了点功夫...但是我的管理员使用tinymce..。Tinymce在文本上工作是的.它搞砸了窗口小部件的文本区域,但却是如此的默默无声。
editor_deselector:"vWKTField“
https://stackoverflow.com/questions/12830597
复制相似问题