html - pyqt4 and WebGL Earth JavaScript -
when try display html 2d earth map google maps api pyqt4 on python, works, can see map , interact with.
from pyqt4.qtcore import * pyqt4.qtgui import * pyqt4.qtwebkit import * maphtml = ''' <!doctype html> <html> <head> <style> html, body, #map-canvas { height: 100%; margin: 0px; padding: 0px } </style> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=drawing"></script> <script> function initialize() { var mapoptions = { center: new google.maps.latlng(37.5, -122.2), zoom: 10, maptypeid: google.maps.maptypeid.roadmap }; var map = new google.maps.map(document.getelementbyid('map-canvas'), mapoptions); var drawingmanager = new google.maps.drawing.drawingmanager({ drawingmode: google.maps.drawing.overlaytype.polygon, drawingcontrol: true, drawingcontroloptions: { position: google.maps.controlposition.top_center, drawingmodes: [google.maps.drawing.overlaytype.polygon] }, polygonoptions: {editable: true, draggable: true}, }); drawingmanager.setmap(map); var thepolygon = null; google.maps.event.addlistener(drawingmanager, 'polygoncomplete', function (polygon) { if (thepolygon) thepolygon.setmap(null); thepolygon = polygon; polygon.getpath().foreach(function (xy, i) { self.polygoncomplete(xy.lat(), xy.lng(), i); }); }); } google.maps.event.adddomlistener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"></div> </body> </html> ''' class browser(qapplication): def __init__(self): qapplication.__init__(self, []) self.window = qwidget() self.window.setwindowtitle("google google maps maps"); self.web = qwebview(self.window) self.web.setminimumsize(800,800) self.web.page().mainframe().addtojavascriptwindowobject('self', self) self.web.sethtml(maphtml) self.layout = qvboxlayout(self.window) self.layout.addwidget(self.web) self.window.show() self.exec_() browser()
but when display 3d map earth webgl earth javascript, doesn't work.i can see text, 3d earth can't displayed. suggestion why? (i have got same result pyqt5 , html script working in browser).
from pyqt4.qtcore import * pyqt4.qtgui import * pyqt4.qtwebkit import * maphtml = ''' <!doctype html> <html> <head> <script src="http://www.webglearth.com/v2/api.js"></script> <script> function initialize() { var options = { zoom: 3.0, position: [47.19537,8.524404] }; var earth = new we.map('earth_div', options); } </script> </head> <body onload="initialize()"> <h1>webgl earth api: hello world</h1> <div id="earth_div" style="width:600px;height:400px;border:1px solid gray; padding:2px;"></div> </body> </html> ''' class browser(qapplication): def __init__(self): qapplication.__init__(self, []) self.window = qwidget() self.window.setwindowtitle("google google maps maps"); self.web = qwebview(self.window) self.web.setminimumsize(800,800) self.web.page().mainframe().addtojavascriptwindowobject('self', self) self.web.sethtml(maphtml) self.layout = qvboxlayout(self.window) self.layout.addwidget(self.web) self.window.show() self.exec_() browser()
Comments
Post a Comment