Search 1.9 billion lines of Odoo code on GitHub

web_google_maps

Author: Yopi Angi
License: no license
Branch: v1120171028
Repository: SDIsl/geolocation
Dependencies: base, base_geolocalize, base_setup, and web
Languages: HTML (51, 1.6%), JavaScript (2375, 72.5%), LESS (101, 3.1%), Markdown (200, 6.1%), Python (195, 6.0%), and XML (353, 10.8%)
Other branches: 10.0, 11.0, 11.0-state_id, 12.0, 14.0, 15.0, 9.0, and master
Other repositories: Andyeyo/Odoo-Addons, Bilbonet/odoo-addons, DITIntl/odoo-addons-1, GiraffosCom/odoo-cl-12, Gonscar88/odoo-addons, Guobower/Odoo-Addons-2, Idealisconsulting/odoo-addons, Infinityloopsistemas/odoo-addons, Kalway-Technology/odoo-addons, KurrufERP/odoo-cl-12, LevelPrime/odoo-google-maps, Loo-ERP/odoo-addons, Manuellama/odoo-addons, Mefistous/odoo-cl-12, NivasRaj/odoo-addons, Normatica/odoo-cl-12, NothingCtrl/odoo-addons, OdooBulgaria/Odoo-Addons-17, OdooBulgaria/odoo-addons-15, RL-OtherApps/odoo-addons-2, SantosJMM/odoo-addons, Sroeurnsuon/odoo-addons, TheCloneMaster/Odoo-Addons, UnknownInfo/odoo-cl-12, Vassy/odoo-addons, VizThoughts/odoo-addons-2, abdalmola-apps/odoo-addons, alvarojimenezpaz/odoo-cl-12, anhvu-sg/odoo-addons, aschenkels-ictstudio/odoo-addons-1, azizulj8/odoo-addons, be-cloud-be/odoo-addons, bgavarini/odoo-addons, bimajatiwijaya/odoo-addons, bishalgit/odoo-addons, brain-tec/odoo-addons, cameleonRuoi/odoo-addons, consultingerp/crm_maps-12, daemondev/Odoo-Addons, dansanti/odoo-addons, desiteg/odoo-addons, diegobgl/odoo-addons, dong-z/odoo-addons, dtka0105/odoo-addons, erick-alvino/odoo-addons-1, erlopezh/odoo-addons, flectra-chile/odoo-cl-12, fva-idealis/odoo-addons, gitstalker/odoo-addons-1, gityopie/odoo-addons, grupoebox/odoo-addons, guohuadeng/odoo-addons, gustotc/odoo-addons, halybang/odoo-addons, hashirharis/odoo-addons, hippe-67/odoo-addons, hoangpq/odoo-addons-web-gg, iledarn/odoo-addons, intellego-bi/odoo-12, intellego-bi/odoo-cl-12, iuppiterpluvius/odoo-addons, jason156/Odoo-Addons-4, jeffersonjeff/odoo-addons, josemoralesp/odoo-addons, jriveros/odoo-cl-12, katyukha/odoo-addons, killteck/odoo-addons, kit9/odoo-addons-2, leodoooca/gityopie-odoo-addons, litnimax/odoo-addons, marcel1981/odoo-cl-12, marcelomora/yopie, marcelsavegnago/odoo-addons-3, martinllanos/odoo-addons, maurolguin1/odoo-cl-12, mgielissen/odoo-addons-7, minhhq09/odoo-addons, nerkusoft/odoo-addons, nextmoveits/odoo-addons, nguyenductamlhp/odoo-addons, nick2474/odoo-addons-1, nikeshscs/odoo-addons, njeudy/odoo-addons, nknganda/odoo-addons, odoochain/odoo-addons, odoogap/odoo-addons, odoonz/misc-gityopie, ohernandez-getinsoft/odoo-addons, one2pret/odoo-addons, osvalr/Odoo-Addons, petypi/odoo-addons-2, pnajman-modoolar/odoo-addons, redcor/field-service, sadeqamin/odoo-addons, sc4you/odoo-addons-3, scbrianti/odoo-addons, sgheller/odoo-addons, sm2x/odoo-addons, spoerp/odoo-addons, t-np/odoo-addons, tate11/odoo-addons-6, thanhdongcntt/odoo-addons, udamuri/odoo-addons, ursais/odoo-addons, vidtsin/odoo-cl-12, wahello/odoo-addons, westlyou/Odoo-Addons-4, westlyou/odoo-addons-2, xpertiz/odoo-addons, zarumaru/odoo-addons, and zoubir/odoo-addons

<h1>Web Google Maps</h1> <p><a href="https://youtu.be/2UdG5ILDtiY" title="Demo"><img src="https://i.ytimg.com/vi/2UdG5ILDtiY/3.jpg" alt="Demo"></a> </p> <p>This module contains three new features: - New view type and mode (<code>map</code>) - New widget (<code>gplaces_address_autocomplete</code>) - New widget (<code>gplaces_autocomplete</code>)</p> <h2>Map view (<code>map</code>)</h2> <p>Basically, this new view(<code>map</code>) will integrate Google Maps into Odoo.<br> Enable you to display a partner location or all your partners location around the world on a map.<br> This feature will work seamlessly with Odoo means you can search your partner location using Odoo search feature. </p> <p>There are five available attributes that you can customize: - <code>no_limit</code> : attribute to tell the map either to load all records(markers) in a single load or take Odoo default behavior - <code>lat</code> : attritube to tell the map the latitude field on the object (mandatory) - <code>lng</code> : attritute to tell the map the longitude field on the object (mandatory) - <code>title</code> : attribute to tell the map the title that will be printed on marker info window (optional, by default &#39;name&#39;) - <code>color</code> : attribute to modify marker color (optional) any given color will set all markers color. - <code>colors</code> : work like attribute <code>color</code> but more configurable (you can set marker color depends on it&#39;s value) this attribute works similar to <code>colors</code> of tree view on Odoo 9.0</p> <p>How to create the view?<br> Example</p> <blockquote> <pre><code>&lt;!-- View --&gt; &lt;record id=&quot;view_partner_map&quot; model=&quot;ir.ui.view&quot;&gt; &lt;field name=&quot;name&quot;&gt;view.partner.map&lt;/field&gt; &lt;field name=&quot;model&quot;&gt;res.partner&lt;/field&gt; &lt;field name=&quot;arch&quot; type=&quot;xml&quot;&gt; &lt;!-- Define aliase name for geolocation fields into view attributes --&gt; &lt;map class=&quot;o_res_partner_map&quot; no_limit=&quot;true&quot; string=&quot;Map&quot; lat=&quot;partner_latitude&quot; lng=&quot;partner_longitude&quot; colors=&quot;blue:company_type==&#39;person&#39;;green:company_type==&#39;company&#39;;&quot;&gt; &lt;field name=&quot;id&quot;/&gt; &lt;field name=&quot;name&quot;/&gt; &lt;field name=&quot;street&quot;/&gt; &lt;field name=&quot;street2&quot;/&gt; &lt;field name=&quot;city&quot;/&gt; &lt;field name=&quot;zip&quot;/&gt; &lt;field name=&quot;email&quot;/&gt; &lt;field name=&quot;state_id&quot;/&gt; &lt;field name=&quot;country_id&quot;/&gt; &lt;field name=&quot;partner_latitude&quot;/&gt; &lt;field name=&quot;partner_longitude&quot;/&gt; &lt;field name=&quot;company_type&quot;/&gt; &lt;field name=&quot;image_small&quot;/&gt; &lt;field name=&quot;mobile&quot;/&gt; &lt;field name=&quot;phone&quot;/&gt; &lt;field name=&quot;type&quot;/&gt; &lt;field name=&quot;function&quot;/&gt; &lt;templates&gt; &lt;t t-name=&quot;map-marker-iw&quot;&gt; &lt;div class=&quot;gm-iw-container o_map_global_click o_res_partner_map&quot;&gt; &lt;div class=&quot;gm-iw-title&quot;&gt; &lt;img t-att-src=&quot;map_image(&#39;res.partner&#39;, &#39;image_small&#39;, record.id.raw_value)&quot;/&gt; &lt;span&gt;&lt;strong&gt;&lt;field name=&quot;display_name&quot;/&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/div&gt; &lt;div class=&quot;gm-iw-details&quot;&gt; &lt;ul&gt; &lt;li t-if=&quot;record.parent_id.raw_value and !record.function.raw_value&quot;&gt;&lt;field name=&quot;parent_id&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;!record.parent_id.raw_value and record.function.raw_value&quot;&gt;&lt;field name=&quot;function&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;record.parent_id.raw_value and record.function.raw_value&quot;&gt;&lt;field name=&quot;function&quot;/&gt; at &lt;field name=&quot;parent_id&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;record.city.raw_value and !record.country_id.raw_value&quot;&gt;&lt;field name=&quot;city&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;!record.city.raw_value and record.country_id.raw_value&quot;&gt;&lt;field name=&quot;country_id&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;record.city.raw_value and record.country_id.raw_value&quot;&gt;&lt;field name=&quot;city&quot;/&gt;, &lt;field name=&quot;country_id&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;record.email.raw_value&quot; class=&quot;o_text_overflow&quot;&gt;&lt;field name=&quot;email&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;record.phone.raw_value&quot;&gt;Phone: &lt;field name=&quot;phone&quot;/&gt;&lt;/li&gt; &lt;li t-if=&quot;record.mobile.raw_value&quot;&gt;Mobile: &lt;field name=&quot;mobile&quot;/&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/div&gt; &lt;/t&gt; &lt;/templates&gt; &lt;/map&gt; &lt;/field&gt; &lt;/record&gt; </code></pre> </blockquote> <pre><code>&lt;!-- Action --&gt; &lt;record id=&quot;action_partner_map&quot; model=&quot;ir.actions.act_window&quot;&gt; ... &lt;field name=&quot;view_type&quot;&gt;form&lt;/field&gt; &lt;field name=&quot;view_mode&quot;&gt;tree,form,map&lt;/field&gt; ... &lt;/record&gt; </code></pre> <h2>How to setup color for marker on map?</h2> <p>There are two attributes: - <code>colors</code> - <code>color</code> </p> <p>Example:</p> <blockquote> <pre><code>&lt;!-- colors --&gt; &lt;map string=&quot;Map&quot; lat=&quot;partner_latitude&quot; lng=&quot;partner_longitude&quot; colors=&quot;green:company_type==&#39;person&#39;;blue:company_type==&#39;company&#39;;&quot;&gt; ... &lt;/map&gt; </code></pre> </blockquote> <pre><code>&lt;!-- color --&gt; &lt;map string=&quot;Map&quot; lat=&quot;partner_latitude&quot; lng=&quot;partner_longitude&quot; color=&quot;orange&quot;&gt; ... &lt;/map&gt; </code></pre> <h2>New widget (<code>gplaces_address_autocomplete</code>)</h2> <p>Basically this new widget will integrate another cool feature of Google Maps which is &quot;Place Autocomplete Address Form&quot; (go and visit this <a href="https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform">site</a> if you don&#39;t know yet how this cool feature work) </p> <p>The widget has four options that can be modify: - <code>component_form</code> - <code>fillfields</code> - <code>lat</code> - <code>lng</code></p> <h3>Component form (<code>component_form</code>)</h3> <p>Is an option used to modify which value you want to take from an objects returned by the geocoder.<br> Full documentation about Google component types can be found <a href="https://developers.google.com/maps/documentation/geocoding/intro#Types">here</a></p> <p>By default this option are configured like following value:</p> <blockquote> <pre><code>{ &#39;street_number&#39;: &#39;long_name&#39;, &#39;route&#39;: &#39;long_name&#39;, &#39;intersection&#39;: &#39;short_name&#39;, &#39;political&#39;: &#39;short_name&#39;, &#39;country&#39;: &#39;short_name&#39;, &#39;administrative_area_level_1&#39;: &#39;short_name&#39;, &#39;administrative_area_level_2&#39;: &#39;short_name&#39;, &#39;administrative_area_level_3&#39;: &#39;short_name&#39;, &#39;administrative_area_level_4&#39;: &#39;short_name&#39;, &#39;administrative_area_level_5&#39;: &#39;short_name&#39;, &#39;colloquial_area&#39;: &#39;short_name&#39;, &#39;locality&#39;: &#39;short_name&#39;, &#39;ward&#39;: &#39;short_name&#39;, &#39;sublocality_level_1&#39;: &#39;short_name&#39;, &#39;sublocality_level_2&#39;: &#39;short_name&#39;, &#39;sublocality_level_3&#39;: &#39;short_name&#39;, &#39;sublocality_level_5&#39;: &#39;short_name&#39;, &#39;neighborhood&#39;: &#39;short_name&#39;, &#39;premise&#39;: &#39;short_name&#39;, &#39;postal_code&#39;: &#39;short_name&#39;, &#39;natural_feature&#39;: &#39;short_name&#39;, &#39;airport&#39;: &#39;short_name&#39;, &#39;park&#39;: &#39;short_name&#39;, &#39;point_of_interest&#39;: &#39;long_name&#39; } </code></pre> </blockquote> <p>This configuration can be modify into view field definition.<br> Example:</p> <blockquote> <pre><code>&lt;record id=&quot;view_res_partner_form&quot; model=&quot;ir.ui.view&quot;&gt; ... &lt;field name=&quot;arch&quot; type=&quot;xml&quot;&gt; ... &lt;field name=&quot;street&quot; widget=&quot;gplaces_address_autocomplete&quot; options=&quot;{&#39;component_form&#39;: {&#39;street_number&#39;: &#39;short_name&#39;}}&quot;/&gt; ... &lt;/field&gt; &lt;/record&gt; </code></pre> </blockquote> <h3>Fill fields (<code>fillfields</code>)</h3> <p>Is an option that will be influenced by <code>gplaces_address_autocomplete</code> widget.<br> This options should contains known <code>fields</code> that you want to set a value for each field automatically.<br> A field can contains one or multiple elements of component form<br> By default this options are configured like following value:</p> <blockquote> <pre><code>{ &#39;street&#39;: [&#39;street_number&#39;, &#39;route&#39;], &#39;street2&#39;: [&#39;administrative_area_level_3&#39;, &#39;administrative_area_level_4&#39;, &#39;administrative_area_level_5&#39;], &#39;city&#39;: [&#39;locality&#39;, &#39;administrative_area_level_2&#39;], &#39;zip&#39;: &#39;postal_code&#39;, &#39;state_id&#39;: &#39;administrative_area_level_1&#39;, &#39;country_id&#39;: &#39;country&#39;, } </code></pre> </blockquote> <p>This configuration can be modify into view field definition as well<br> Example:</p> <blockquote> <pre><code>&lt;record id=&quot;view_res_partner_form&quot; model=&quot;ir.ui.view&quot;&gt; ... &lt;field name=&quot;arch&quot; type=&quot;xml&quot;&gt; ... &lt;field name=&quot;street&quot; widget=&quot;google_places&quot; options=&quot;{&#39;fillfields&#39;: {&#39;street2&#39;: [&#39;route&#39;, &#39;street_number&#39;]}}&quot;/&gt; ... &lt;/field&gt; &lt;/record&gt; </code></pre> </blockquote> <h3>Latitude (<code>lat</code>) and Longitude (<code>lng</code>)</h3> <p>This options tell the widget the fields geolocation, in order to have this fields filled automatically.</p> <h2>New widget (<code>gplaces_autocomplete</code>)</h2> <p>Basically this new widget will integrate &quot;Google Place Autocomplete&quot; (go and visit this <a href="https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete">site</a></p> <p>This widget have similar configuration to <code>gplaces_address_autocomplete</code>.</p> <h3>Component form (<code>component_form</code>)</h3> <p>Same configuration of <code>gplaces_address_autocomplete</code> component form</p> <h3>Fill fields (<code>fillfields</code>)</h3> <p>This configuration works similar to <code>gplaces_address_autocomplete</code>.</p> <p>By default this options are configured like following value:</p> <blockquote> <pre><code>{ general: { name: &#39;name&#39;, website: &#39;website&#39;, phone: [&#39;international_phone_number&#39;, &#39;formatted_phone_number&#39;] }, address: { street: [&#39;street_number&#39;, &#39;route&#39;], street2: [&#39;administrative_area_level_3&#39;, &#39;administrative_area_level_4&#39;, &#39;administrative_area_level_5&#39;], city: [&#39;locality&#39;, &#39;administrative_area_level_2&#39;], zip: &#39;postal_code&#39;, state_id: &#39;administrative_area_level_1&#39;, country_id: &#39;country&#39; } }; </code></pre> </blockquote> <h1>Technical:</h1> <p>This module will install <code>base_setup</code> and <code>base_geolocalize</code> (no more <code>website_google_maps</code>).<br> <em>I recommend you to add Google Maps Key API into Odoo Settings &gt; General Settings when you installed this module</em></p> <p>The goal of this module is to bring the power of Google Maps into Odoo<br> This module has tested on Odoo Version 10.0c </p> <p>Regards,<br> Yopi<br> yopiangi@gmail.com</p>