Directus Map地图字段无法创建的解决方法 type "geometry" does not exist
由于Directus的map字段需要依赖PostGIS扩展,这时候我们需要安装PostGIS:https://postgis.net/
windows用户直接在这里下载即可:http://download.osgeo.org/postgis/windows/
找到对应postgres版本,查看版本的命令是:SELECT version();
建议直接下载exe安装包来安装,如“postgis-bundle-pg12x64-setup-3.2.3-1.exe
”,需要注意的是一定要安装到postgres程序所在目录。
接下来需要打开pgAdmin并登录账户
-> 选择数据库
-> Tool
-> Query Tool
-> 执行命令 CREATE EXTENSION postgis;
接下来再回到Directus添加map字段就完全没有问题了
2025年1月25日更新:
如果该字段使用大量线条、多边形,并且设置了索引选项,那么在保存时候可能会因为超出默认的B Tree
索引而出错,这时候需要使用PostGIS
来索引,请将geo替换为相关字段
DROP INDEX IF EXISTS records_geo_index; CREATE INDEX records_geo_index ON records USING gist(geo);
具体原因可参考:Directus地图字段由于B-Tree索引错误无法保存