文档章节

OpenERP|Odoo高德地图应用

tiexinliu
 tiexinliu
发布于 2015/04/06 11:07
字数 477
阅读 80
收藏 0
点赞 0
评论 0

    在openerp中的fleet模块,每一个车辆都有地图应用。默认采用的是谷歌地图,但是在应用得时候如果想换其他的地图该怎么做那?以下我们以国内市 面上比较流行的高德地图为例,给大家分析一下如何换地图。

    一,openerp的地图设计思路

    openerp的地图应用是运用qweb来实现的。在xml中声明一个div,然后在js中初始化地图放到声明的div里即可。在js中会把这一系列的初 始化地图,加载等动作注册为一个openerp的widget。最后在相关的视图页面引用这个widget即可。所有,我们如果要运用新的地图,我们只需 要修改地图相关的js和xml即可。

    二,高德地图实现

    在进行修改之前,我们首先要把高德地图的javascript的api复制到一个静态文件之中。然后在进行如下代码的修改,修改完后在__open

erp__.py中导入gaodeapi.js,gaode.js,gaode.xml即可。

    gaode.xml:

    <?xml version="1.0" encoding="UTF-8"?>

    <templates xml:space="preserve">

    <t t-name="WidgetGaodeCoordinates">

           <div id="container" class="gaode"></div>

    </t>

    </templates>


    gaode.js:

    openerp.fleet = function(instance) {

    var _t = instance.web._t,

        _lt = instance.web._lt;

    var QWeb = instance.web.qweb;

    instance.fleet = {};

    instance.web.form.widgets.add('color', 'instance.oepetstore.FieldColor');

    instance.fleet.WidgetGaodeCoordinates = instance.web.form.FormWidget.extend({

        init: function() {

            this._super.apply(this, arguments);

        },

        start: function() {

            this._super();

            this.field_manager.on("field_changed:provider_latitude", this, this.display_map);

            this.field_manager.on("field_changed:provider_longitude", this, this.display_map);

            this.on("change:effective_readonly", this, this.display_map);

            this.display_map();           

        },

        

        display_map: function() {

            var self = this;

            var provider_latitude = this.field_manager.get_field_value("provider_latitude");

            var provider_longitude = this.field_manager.get_field_value("provider_longitude");

            this.$el.html(QWeb.render("WidgetGaodeCoordinates", {

                "latitude": provider_latitude || 0,

                "longitude": provider_longitude || 0,

            }));

            var mapObj = new AMap.Map("container");

            

            mapObj.plugin(["AMap.ToolBar","AMap.OverView","AMap.Scale"],function(){  

                //加载工具条  

                tool=new AMap.ToolBar({  

                  direction:false,//隐藏方向导航  

                  ruler:false,//隐藏视野级别控制尺  

                  autoPosition:false//禁止自动定位  

                });  

                mapObj.addControl(tool);  

                //加载鹰眼  

                view=new AMap.OverView();  

                mapObj.addControl(view);  

                //加载比例尺  

                scale=new AMap.Scale();  

                mapObj.addControl(scale);  

              });  

            

            var marker = new AMap.Marker({

                id:"m",

                position:new AMap.LngLat(provider_latitude,provider_longitude),

                offset: new AMap.Pixel(-8,-34),

                icon: "http://webapi.amap.com/static/images/marker_sprite.png",

                level: 15

            });

            var point = new AMap.LngLat(provider_latitude, provider_longitude);

            mapObj.setCenter(point);

            mapObj.addOverlays(marker);

        },

    });

    instance.web.form.custom_widgets.add('coordinates', 'instance.fleet.WidgetGaodeCoordinates');

}                                                    


© 著作权归作者所有

共有 人打赏支持
tiexinliu
粉丝 0
博文 1
码字总数 477
作品 0
苏州
关于OpenERP改名Odoo的一些想法

5月15日,OpenERP S A 在合作伙伴Webinar 宣布 OE即将改名Odoo,融资1000万美元, 代码托管更换到Github, 很多内容。OpenERP 名字更改,合作伙伴合作方式也有新政策。OpenERP开源, Odoo仍将继...

Annieguo ⋅ 2014/05/19 ⋅ 0

如何在CentOS 7.x中安装OpenERP(Odoo)

各位好,这篇教程关于的是如何在CentOS 7中安装Odoo(就是我们所知的OpenERP)。你是不是在考虑为你的业务安装一个不错的ERP(企业资源规划)软件?那么OpenERP就是你寻找的最好的程序,因为...

酱醋茶丶 ⋅ 2015/11/09 ⋅ 0

开源ERP系统Odoo发展史

开源ERP系统Odoo发展史 开源软件(GNU通用公共许可证)发起人斯托曼(Stallman),理念很简单,就是: 提供一个开源平台,大家可以把自己的软件代码放在这个平台上,所有人都可自取自用优化升...

保定粉刷匠 ⋅ 2017/05/01 ⋅ 0

北京路远通公司与 Odoo 正式签约实施伙伴!

odoo 实施伙伴 2015-06-18 公司正式与比利时 odoo 公司签定合作协议,将有利于公司更好的服务于客户,提供更全面的支持和实施服务: odoo培训 odoo部署实施 odoo二次开发 odoo云服务 odoo(O...

路远通 ⋅ 2015/08/19 ⋅ 2

python多核心利用测试

对于很多企业来说,随着时间的推移,用户量或者企业建点扩张,使用erp就会出现应用访问越来越慢的情况,其实这种情况不但限于erp,只要是有数据量增长的互联网业务必然会遇到的,因为一开始的...

fengyunsen ⋅ 2016/04/17 ⋅ 0

Odoo8.0,也就是OpenERP8.0,将于2014年7月7日发布。

在6月4日至6月6日的Open大会上,Odoo官方宣布: Odoo8.0,也就是OpenERP8.0,将于2014年7月7日发布。 更多OpenERP的信息,请参加:http://blog.sina.com.cn/kaiyuanlvzhou...

保定-粉刷匠 ⋅ 2014/06/15 ⋅ 3

Odoo8.0正式版发布

源码下载地址: https://github.com/odoo/odoo/archive/8.0.zip OpenERP8.0界面汉化演示网址: http://www.osbzr.net:8899/ 用户名:admin 密码:admin OpenERP界面汉化参与者名单: http:/...

保定-粉刷匠 ⋅ 2014/09/18 ⋅ 4

在Windows下调试Odoo

依赖处理 安装postgresql (http://www.postgresql.org/download/windows/) 安装PG的Python驱动,psycopg2-2.6.0.win-amd64-py2.7-pg9.4.1-release (https://pypi.python.org/pypi/psycop......

孤岛旭日 ⋅ 2015/04/18 ⋅ 0

Odoo如何在IDE中调试单元测试

部署odoo测试环境(windows下见这里 ) 编码测试用例,如 -- coding: utf-8 --. 修改运行参数为: Finish

孤岛旭日 ⋅ 2015/04/18 ⋅ 0

Odoo 9.0 RC1 发布,开源企业 ERP 系统

今天发布了 Odoo 9.0 RC1 版本,更新内容请看:https://github.com/odoo/odoo/commits/9.0 安装包下载地址:http://nightly.odoo.com/9.0/nightly/ 源代码下载:src="http://nightly.odoo.co......

保定-粉刷匠 ⋅ 2015/09/12 ⋅ 15

没有更多内容

加载失败,请刷新页面

加载更多

下一页

构建自定义组件

#前言 接上篇,因项目需由H5转到小程序,故需打造自定义对话框。而这块需使用到微信小程序的自定义组件功能。 小程序自定义组件 点击此处,可以查看小程序自定义组件的api。 从自定义组件的样...

387 ⋅ 15分钟前 ⋅ 0

Maven 项目添加本地jar包的三种方式

Maven 项目添加本地jar包的三种方式 翻译自3 ways to add local jar to maven project [TOC] 简介 在构建 Maven 项目时,有时候需要导入本地的jar包,本文介绍了三种添加本地jar包的方法。 ...

Os_yxguang ⋅ 15分钟前 ⋅ 0

long超过16位之后浏览器自动截断问题处理。

java前后端交互的过程中,定义的Long字段超过16位之后,js发生截断,从而不能跟后台数据进行匹配。 处理方法 把long型字段转成string进行处理。(可以使用json注解转换或者springmvc统一拦截...

strict_nerd ⋅ 17分钟前 ⋅ 0

一文带你搞定Integer

1.1 前言 Integer是int对应的包装类,它包含一个int类型的字段存储数据,并提供了多个基本操作,能在 int 类型和 String 类型之间互相转换。在Java5中,引入了自动装箱和自动拆箱功能,Java可...

筱虾米 ⋅ 18分钟前 ⋅ 0

Linux kernel脉络和主干总结

写在前面 前人常说,对Linux操作系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中觉得犹如“管中窥豹”。 随着工...

Markz0928 ⋅ 32分钟前 ⋅ 0

在gcc中使用intel风格的内联汇编

很简单,内联汇编使用asm(“.intel_syntax noprefix/n”)声明一下,以后的内联汇编就可以用intel风格了,构建可执行文件时给gcc加上-masm=intel参数。 先写一个小程序测试一下: [cpp] view...

simpower ⋅ 43分钟前 ⋅ 0

NIO 之 ByteBuffer实现原理

相关文章 BIO、NIO、AIO 内部原理分析 NIO 之 Selector实现原理 NIO 之 Channel实现原理 前言 Java NIO 主要由下面3部分组成: Buffer Channel Selector 在传统IO中,流是基于字节的方式进行...

轨迹_ ⋅ 52分钟前 ⋅ 0

Jenkins docker权限问题

环境Ubuntu Server 工具 jenkins-war:2.89.2 报错信息 Cannot connect to the Docker daemon. Is the docker daemon running on this host?Build step 'Execute shell' marked build as fai......

Pulsar-V ⋅ 52分钟前 ⋅ 0

180621-一个简单的时间窗口设计与实现

如何设计一个计数的时间窗口 时间窗口,通常对于一些实时信息展示中用得比较多,比如维持一个五分钟的交易明细时间窗口,就需要记录当前时间,到五分钟之前的所有交易明细,而五分钟之前的数...

小灰灰Blog ⋅ 今天 ⋅ 0

Android之Dalvik、ART、JIT、AOT

Android之Dalvik、ART、JIT、AOT 本文内容:Dalvik、ART、JIT、AOT之间关系 本文定位:知识记录 学习过程记录,加深理解,提升文字组合表达能力。也希望能给学习的同学一些灵感 本文整理于[...

lichuangnk ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部