将谷歌地图视图类型添加到Odoo Web客户端
项目描述
- 本模块包含三个新特性
新视图类型和模式 “地图”
新小部件 “gplaces_address_autocomplete”
新小部件 “gplaces_autocomplete”
目录
用法
地图视图 “地图”:-
基本上,这个新的视图 地图 将将谷歌地图集成到Odoo中。使您能够在地图上显示 res.partner 地理位置或任何包含地理位置的模型。此功能将与Odoo无缝协作,这意味着您可以使用Odoo的搜索功能搜索合作伙伴的位置。
有五个可自定义的可用属性:-
lat : 一个属性,告诉地图对象的纬度字段 __[必填]__
lng : 一个属性,告诉地图对象的经度字段 __[必填]__
color : 一个属性,用于修改标记颜色(可选)任何指定的颜色都将设置所有标记的颜色 __[可选]__。
colors : 与属性 color 类似,但更可配置(您可以设置标记颜色取决于其值)此属性与Odoo树视图上的 colors 类似 __[可选]__
- library一个属性,告诉地图加载哪个地图 __[必填]__.
此选项有两个值:1. geometry 2. drawing
XML地图视图定义。例如
<record id="view_res_partner_map" model="ir.ui.view"> <field name="name">view.res.partner.map</field> <field name="model">res.partner</field> <field name="arch" type="xml"> <map class="o_res_partner_map" library='geometry' string="Map" lat="partner_latitude" lng="partner_longitude" colors="blue:company_type=='person';green:company_type=='company';"> <field name="id"/> <field name="partner_latitude"/> <field name="partner_longitude"/> <field name="company_type"/> <field name="color"/> <field name="display_name"/> <field name="title"/> <field name="email"/> <field name="parent_id"/> <field name="is_company"/> <field name="function"/> <field name="phone"/> <field name="street"/> <field name="street2"/> <field name="zip"/> <field name="city"/> <field name="country_id"/> <field name="mobile"/> <field name="state_id"/> <field name="category_id"/> <field name="image_small"/> <field name="type"/> <templates> <t t-name="kanban-box"> <div class="oe_kanban_global_click o_res_partner_kanban"> <div class="o_kanban_image"> <t t-if="record.image_small.raw_value"> <img t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/> </t> <t t-if="!record.image_small.raw_value"> <t t-if="record.type.raw_value === 'delivery'"> <img t-att-src='_s + "/base/static/src/img/truck.png"' class="o_kanban_image oe_kanban_avatar_smallbox"/> </t> <t t-if="record.type.raw_value === 'invoice'"> <img t-att-src='_s + "/base/static/src/img/money.png"' class="o_kanban_image oe_kanban_avatar_smallbox"/> </t> <t t-if="record.type.raw_value != 'invoice' && record.type.raw_value != 'delivery'"> <t t-if="record.is_company.raw_value === true"> <img t-att-src='_s + "/base/static/src/img/company_image.png"'/> </t> <t t-if="record.is_company.raw_value === false"> <img t-att-src='_s + "/base/static/src/img/avatar.png"'/> </t> </t> </t> </div> <div class="oe_kanban_details"> <strong class="o_kanban_record_title oe_partner_heading"> <field name="display_name"/> </strong> <div class="o_kanban_tags_section oe_kanban_partner_categories"> <span class="oe_kanban_list_many2many"> <field name="category_id" widget="many2many_tags" options="{'color_field': 'color'}"/> </span> </div> <ul> <li t-if="record.parent_id.raw_value and !record.function.raw_value"> <field name="parent_id"/> </li> <li t-if="!record.parent_id.raw_value and record.function.raw_value"> <field name="function"/> </li> <li t-if="record.parent_id.raw_value and record.function.raw_value"> <field name="function"/> at <field name="parent_id"/> </li> <li t-if="record.city.raw_value and !record.country_id.raw_value"> <field name="city"/> </li> <li t-if="!record.city.raw_value and record.country_id.raw_value"> <field name="country_id"/> </li> <li t-if="record.city.raw_value and record.country_id.raw_value"> <field name="city"/> , <field name="country_id"/> </li> <li t-if="record.email.raw_value" class="o_text_overflow"> <field name="email"/> </li> </ul> <div class="oe_kanban_partner_links"/> </div> </div> </t> </templates> </map> </field> </record> <record id="action_partner_map" model="ir.actions.act_window"> ... <field name="view_type">form</field> <field name="view_mode">tree,form,map</field> ... </record>
标记信息窗口将使用 kanban-box �看板卡片样式。
如何设置地图上标记的颜色?
有两个属性
颜色:colors:允许您在地图上显示不同的标记颜色来表示记录
颜色:地图上所有记录使用相同的标记颜色
XML颜色视图定义。例如
<!-- colors --> <map string="Map" lat="partner_latitude" lng="partner_longitude" colors="green:company_type=='person';blue:company_type=='company';"> ... </map> <!-- color --> <map string="Map" lat="partner_latitude" lng="partner_longitude" color="orange"> ... </map>
新小部件 “gplaces_address_autocomplete”:
新小部件,用于在Odoo中集成[地点自动完成地址表单](https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform)。
此小部件有四个可修改的选项
component_form
fillfields
lat
lng
组件表单 component_form:
是一个选项,用于修改您想从地理编码器返回的对象中获取哪些值。有关Google组件类型的完整文档可以在此处找到[这里](https://developers.google.com/maps/documentation/geocoding/intro#Types)
默认情况下,此选项配置如下javascript值
{ 'street_number': 'long_name', 'route': 'long_name', 'intersection': 'short_name', 'political': 'short_name', 'country': 'short_name', 'administrative_area_level_1': 'short_name', 'administrative_area_level_2': 'short_name', 'administrative_area_level_3': 'short_name', 'administrative_area_level_4': 'short_name', 'administrative_area_level_5': 'short_name', 'colloquial_area': 'short_name', 'locality': 'short_name', 'ward': 'short_name', 'sublocality_level_1': 'short_name', 'sublocality_level_2': 'short_name', 'sublocality_level_3': 'short_name', 'sublocality_level_5': 'short_name', 'neighborhood': 'short_name', 'premise': 'short_name', 'postal_code': 'short_name', 'natural_feature': 'short_name', 'airport': 'short_name', 'park': 'short_name', 'point_of_interest': 'long_name' }
此配置可以修改为xml视图字段定义
<record id="view_res_partner_form" model="ir.ui.view"> ... <field name="arch" type="xml"> ... <field name="street" widget="gplaces_address_form" options="{'component_form': {'street_number': 'short_name'}}"/> ... </field> </record>
填充字段 fillfields:
是一个受 gplaces_address_autocomplete 小部件影响的选项。
此选项应包含您希望小部件为每个给定字段自动填充的已知 字段。字段可以包含来自组件表单的一个或多个元素。默认情况下,此选项配置如下javascript值
{ 'street': ['street_number', 'route'], 'street2': ['administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5'], 'city': ['locality', 'administrative_area_level_2'], 'zip': 'postal_code', 'state_id': 'administrative_area_level_1', 'country_id': 'country', }
此配置也可以修改为xml视图字段定义
<record id="view_res_partner_form" model="ir.ui.view"> ... <field name="arch" type="xml"> ... <field name="street" widget="google_places" options="{'fillfields': {'street2': ['route', 'street_number']}}"/> ... </field> </record>
纬度 lat 和经度 lng:
此选项告诉小部件地理定位字段,以便自动填充这些字段。
新小部件 “gplaces_autocomplete”:
新小部件,用于在Odoo中集成[地点自动完成](https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete)。此小部件与 gplaces_address_autocomplete 具有类似的配置。
组件表单 component_form:
gplaces_address_autocomplete 组件表单的相同配置
填充字段 fillfields:
此配置与 gplaces_address_autocomplete 类似。默认情况下,此选项配置如下javascript值
{ general: { name: 'name', website: 'website', phone: ['international_phone_number', 'formatted_phone_number'] }, geolocation: { partner_latitude: 'latitude', partner_longitude: 'longitude' }, address: { street: ['street_number', 'route'], street2: ['administrative_area_level_3', 'administrative_area_level_4', 'administrative_area_level_5'], city: ['locality', 'administrative_area_level_2'], zip: 'postal_code', state_id: 'administrative_area_level_1', country_id: 'country' } };
错误跟踪器
错误在 GitHub Issues 上跟踪。如果遇到问题,请检查是否已经报告了您的问题。如果您是第一个发现它的人,请通过提供详细和受欢迎的 反馈 帮助我们解决它。
请不要直接联系贡献者以寻求支持或技术问题的帮助。
致谢
贡献者
Yopi Angi <yopiangi@gmail.com>
Wolfgang Hall <whall@opensourceintegrators.com>
Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
Ammar Officewala <aofficewala@opensourceintegrators.com>
维护者
此模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛使用。
当前 维护者
此模块是GitHub上的 OCA/geospatial 项目的组成部分。
欢迎您贡献力量。要了解如何贡献,请访问 https://odoo-community.org/page/Contribute。
项目详情
哈希值 for odoo14_addon_web_view_google_map-14.0.1.0.1.dev4-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c60adbdf78487a6208e28e1df0834127baeef75384e3231569767223b67035d3 |
|
MD5 | 8e1031af29a743a0a5af468082630309 |
|
BLAKE2b-256 | a1e540e0f227b23744c91984cf7b04639731494d00191f5676dac65d89b9a58a |