有没有办法根据地址生成位置坐标?
Posted
技术标签:
【中文标题】有没有办法根据地址生成位置坐标?【英文标题】:Is there a way to generate the co-ordinates of a location based on the address? 【发布时间】:2010-11-22 14:49:48 【问题描述】:我有一个名为 Dealer 的节点,它具有以下 CCK 字段; 标题 车身 位置(位置类型) 电话(文本类型) 网站(文本类型) 划分(节点引用)
有没有办法根据输入的位置在 gmap 上显示节点的位置?我将导入大约 1000 个节点,并且没有任何这些节点的坐标,但只有每个节点的地址。
【问题讨论】:
【参考方案1】:您正在寻找的是两个功能:位置数据的地理编码和结果的 (Google) 地图显示。通常地理编码是在节点创建时完成的,或者使用某种 cron 作业。虽然地图显示是在节点视图(预告片、整页、视图等)上完成的。
这两个功能都应该由Gmap 项目的模块提供。 OpenLayers 和 OpenLayers Geocoder 项目也应该提供它们。最后Google Map Tools 可能是第三种选择。
所有项目都提供某种视图集成,允许您使用熟悉的工具为节点构建地图。
对于坐标的地理编码(和存储),还有Geo 和Geocode 项目。但似乎 Geocode 不支持 Location 字段。
【讨论】:
【参考方案2】:您可以使用以下两个模块。
http://drupal.org/project/openlayers
drupal.org/project/openlayers_geocoder
它可以对您的地址进行地理编码,您可以使用谷歌地图来显示它。 不确定这种模块组合是否适用于以编程方式创建的节点,但这是一个开始。
【讨论】:
【参考方案3】:我使用 location (drupal.org/project/location) 和 gmap (drupal.org/project/gmap) 模块实现了地理编码。您需要激活“节点位置”和“位置搜索”子模块,并在 admin/settings/location/geocoding 中设置您的地理编码选项,从而提供一种对现有经销商进行批量地理编码的方法。
您不需要位置 CCK 字段,只需使用“节点位置”提供的设置(编辑您的经销商内容类型)。
【讨论】:
以上是关于有没有办法根据地址生成位置坐标?的主要内容,如果未能解决你的问题,请参考以下文章
Python地理位置信息库geopy的使用:根据中心点坐标,方向,距离计算坐标