当我点击地球时,我在获取位置(lat/lon)方面遇到了问题.
SO(和其他网站)上的任何地方都建议使用getCurrentPosition方法.
不幸的是,这会返回顶部可拾取对象的位置,该位置包含单击的点,因此如果不存在可选对象,则该方法只返回null
当您使用任何示例时,您可以在进入状态栏时看到它:即使鼠标出现在地球仪中,也会偶尔出现Off Globe标签(而不是lat/lon)!
有没有其他方法可以获得该位置而不依赖于可选对象?我正在考虑通过屏幕上的位置计算和使用几何,但这将非常困难,我不知道从哪里开始......
我写了一个向导,表单视图应显示一个one2many字段,其中的行取自context ['active_ids'].
我正确设置了one2many默认值,但是当表单打开时,没有显示任何行.
我错过了什么吗?(我为代码坏缩进道歉)
class delivery_wizard(models.TransientModel):
_name = 'as.delivery.wizard'
address = fields.Many2one('res.partner')
details = fields.One2many('as.delivery.detail.wizard', 'delivery')
carrier = fields.Many2one('delivery.carrier')
@api.model
def default_get(self, fields_list):
res = models.TransientModel.default_get(self, fields_list)
ids = self.env.context.get('active_ids', [])
details = self.env['as.delivery.detail'].browse(ids)
dwz = self.env['as.delivery.detail.wizard']
dws = []
for detail in details:
dw = dwz.create({
'production': detail.production_id.id,
'quantity': detail.quantity,
'actual_quantity': detail.quantity,
'enabled': detail.production_id.state == 'done',
'delivery': self.id,
})
dws.append(dw.id)
res['details'] = [(6, False, dws)]
res['address'] = details[0].delivery_id.address_id.id
return res
class delivery_detail_wizard(models.TransientModel):
_name = 'as.delivery.detail.wizard'
production = fields.Many2one('as.production') …
Run Code Online (Sandbox Code Playgroud)