Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Odoo-在弹出窗口中显示google地图片段_Javascript_Html_Google Maps_Odoo 8 - Fatal编程技术网

Javascript Odoo-在弹出窗口中显示google地图片段

Javascript Odoo-在弹出窗口中显示google地图片段,javascript,html,google-maps,odoo-8,Javascript,Html,Google Maps,Odoo 8,我正在开发一个模块,允许用户在谷歌地图上查看车辆的地理位置。到目前为止,我通过将坐标传递给Maps的JavaScript,成功地在新选项卡上显示了地图。现在我需要在弹出窗口中显示地图,这样用户就不必离开odoo选项卡来获取信息 谷歌地图.html <html> <head> <title>Localisation de vehicule</title> <style> ht

我正在开发一个模块,允许用户在谷歌地图上查看车辆的地理位置。到目前为止,我通过将坐标传递给Maps的JavaScript,成功地在新选项卡上显示了地图。现在我需要在弹出窗口中显示地图,这样用户就不必离开odoo选项卡来获取信息

谷歌地图.html

<html>
    <head>
        <title>Localisation de vehicule</title>
        <style>
            html, body { height: 100%;
                margin: 0;
                padding: 0; }
            #map { height: 100%; }
        </style>
        <script>

            function initMap() {
                var querystring = window.location.querystring;

                var mylong = location.search.slice(11,location.search.indexOf("&"));
                var mylati = location.search.slice(location.search.indexOf("latitude=")+9,location.search.indexOf("&key"))

                var myLatLng = {lat: Number(mylong), lng: Number(mylati)};
                var map = new google.maps.Map(document.getElementById('googleMap'), {
                zoom: 8,
                center: myLatLng
                });
                var marker = new google.maps.Marker({
                position: myLatLng,
                map: map
              });
            }
        </script>
    </head>
    <body>
        <div id="map">
        </div>
        <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCf-h2Od2097sfJ14DrgUv3ctmcTe1oHy4&callback=initMap"> </script>
    </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>

         <!--Tree view vehicule-->
    <record model="ir.ui.view" id="vehicle_list_view">
        <field name="name">vehicle.tree</field>
        <field name="model">tt.vehicle</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name"/>
                <field name="matriculate"/>
                <field name="longitude"/>
                <field name="latitude"/>
            </tree>
        </field>
    </record>
        <!--From view vehicule-->
        <record model="ir.ui.view" id="vehicle_form_view">
            <field name="name">vehicle.form</field>
            <field name="model">tt.vehicle</field>
            <field name="arch" type="xml">
                <form string="vehicle_form">
                    <sheet>
                        <group string="Information sur vehicule" colspan="4">
                            <field name="name"/>
                            <field name="matriculate"/>
                            <field name="longitude"/>
                            <field name="
                            <button name="tt_locate_vehicle" string="Localiser" type="object" class="oe_highlight"/>
                            <button name="tt_show_popup" string="popup" type="object" class="oe_
                        </group>
                            <div>
                                <object type="text/html" data="https://www.google.com/" width="800px" height="600px" style="overflow:auto;border:5px ridge blue"><object>
                            </div>

                    </sheet>

                </form>

            </field>
        </record>


        <menuitem id="main_geolocation_menu" name="Géolocalisation"/>
        <menuitem id="geolocation_menu" name="Géolocalisation" parent="main_geolocation_menu"/>
        <menuitem id="geolocation_vehicle_menu" name="Géolocalisation des vehicules" parent="geolocation_menu" action="vehicle_action_view"/>

    </data>
</openerp>
geolocation.xml

<html>
    <head>
        <title>Localisation de vehicule</title>
        <style>
            html, body { height: 100%;
                margin: 0;
                padding: 0; }
            #map { height: 100%; }
        </style>
        <script>

            function initMap() {
                var querystring = window.location.querystring;

                var mylong = location.search.slice(11,location.search.indexOf("&"));
                var mylati = location.search.slice(location.search.indexOf("latitude=")+9,location.search.indexOf("&key"))

                var myLatLng = {lat: Number(mylong), lng: Number(mylati)};
                var map = new google.maps.Map(document.getElementById('googleMap'), {
                zoom: 8,
                center: myLatLng
                });
                var marker = new google.maps.Marker({
                position: myLatLng,
                map: map
              });
            }
        </script>
    </head>
    <body>
        <div id="map">
        </div>
        <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCf-h2Od2097sfJ14DrgUv3ctmcTe1oHy4&callback=initMap"> </script>
    </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>

         <!--Tree view vehicule-->
    <record model="ir.ui.view" id="vehicle_list_view">
        <field name="name">vehicle.tree</field>
        <field name="model">tt.vehicle</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name"/>
                <field name="matriculate"/>
                <field name="longitude"/>
                <field name="latitude"/>
            </tree>
        </field>
    </record>
        <!--From view vehicule-->
        <record model="ir.ui.view" id="vehicle_form_view">
            <field name="name">vehicle.form</field>
            <field name="model">tt.vehicle</field>
            <field name="arch" type="xml">
                <form string="vehicle_form">
                    <sheet>
                        <group string="Information sur vehicule" colspan="4">
                            <field name="name"/>
                            <field name="matriculate"/>
                            <field name="longitude"/>
                            <field name="
                            <button name="tt_locate_vehicle" string="Localiser" type="object" class="oe_highlight"/>
                            <button name="tt_show_popup" string="popup" type="object" class="oe_
                        </group>
                            <div>
                                <object type="text/html" data="https://www.google.com/" width="800px" height="600px" style="overflow:auto;border:5px ridge blue"><object>
                            </div>

                    </sheet>

                </form>

            </field>
        </record>


        <menuitem id="main_geolocation_menu" name="Géolocalisation"/>
        <menuitem id="geolocation_menu" name="Géolocalisation" parent="main_geolocation_menu"/>
        <menuitem id="geolocation_vehicle_menu" name="Géolocalisation des vehicules" parent="geolocation_menu" action="vehicle_action_view"/>

    </data>
</openerp>

交通工具树
tt车辆
车辆表
tt车辆

我刚把它解决了,我试着用奥多的形式展示一张小地图。为此,我使用了
标记,如下所示:

<div>
                                 <iframe src="http://localhost:63342/odoo/geolocation/google_map.html?longitude=34.681178&amp;latitude=-1.925503&amp;key=AIzaSyAZkVmtvhuKp9U34DlKIicoW3CVEAuM0zM" width="825px" height="500px" frameborder="0"></iframe>
                            </div>


你的问题是什么?@geocodezip,我刚把它解决了,我想用odoo的形式展示一张小地图。为此,我使用了tag,它起了作用,但我仍然有一个小问题:url
”http://localhost:63342/odoo/geolocation/google_map.html?longitude=34.681178&;纬度=-1.925503&;键=AIzaSyAZkVmtvhuKp9U34DlKIicoW3CVEAuM0zM”
包含我需要从模型中获取的2个变量经度和姿态。您知道如何做到这一点吗?最好的方法是通过一些python函数解析xml/html,一旦用户单击名为Locate的按钮,就会执行该函数。请用更新编辑您的问题(很难阅读注释中的代码). 如果你解决了这个问题,请将你的解决方案作为答案发布(并接受它)。