RGeo 为 POINT 功能提供内置方法,例如 getter 方法lat()
以及lon()
从 POINT 对象中提取纬度和经度值。不幸的是,这些不能作为二传手。例如:
point = RGeo::Geographic.spherical_factory(:srid => 4326).point(3,5) // => #<RGeo::Geographic::SphericalPointImpl:0x817e521c "POINT (3.0 5.0)">
我可以做这个:
point.lat // => 5.0
point.lon // => 3.0
但我不能这样做:
point.lat = 4 // => NoMethodError: undefined method `lat=' for #<RGeo::Geographic::SphericalPointImpl:0x00000104024770>
关于如何实现 setter 方法的任何建议?您会在模型中执行此操作还是扩展要素类?