Javascript Odoo-在弹出窗口中显示google地图片段
我正在开发一个模块,允许用户在谷歌地图上查看车辆的地理位置。到目前为止,我通过将坐标传递给Maps的JavaScript,成功地在新选项卡上显示了地图。现在我需要在弹出窗口中显示地图,这样用户就不必离开odoo选项卡来获取信息 谷歌地图.htmlJavascript 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
<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&latitude=-1.925503&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的按钮,就会执行该函数。请用更新编辑您的问题(很难阅读注释中的代码). 如果你解决了这个问题,请将你的解决方案作为答案发布(并接受它)。