Я работаю с ZK Framework.Я знаю, что в ZK уже есть компонент Google Maps, но я использую версию CE, поэтому этот компонент для меня недоступен.Я попытался интегрировать его с помощью javascript:
gmaps.zul
<zk>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map_canvas {
height: 100%;
}
@media print {
html, body {
height: auto;
}
#map_canvas {
height: 650px;
}
}
</style>
<html> <![CDATA[
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=uk">
</script>
<script type="text/javascript">
function initialize() {
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'),
myOptions);
}
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://maps.googleapis.com/maps/api/js?sensor=false&' + 'callback=initialize';
document.body.appendChild(script);
}
window.onload = loadScript;
</script>
<div id="map_canvas">
</div>
]]></html> TEST TEXT
</zk>
, так как у меня все работает нормально, и я вижу Google Maps.Но на самом деле я хотел бы интегрировать его в элемент Tab другой страницы:
<?page id="main-page"?>
<zk>
<window id="wnd" title="Tabs of Content" width="100%" height="100%" border="normal">
<tabbox id="tbox" width="100%">
<attribute name="onSelect">{
Window w = Path.getComponent("//main-page/wnd");
if (self.selectedIndex==1) {
Include inc = (Include)Path.getComponent("//main-page/wnd/project_tab"+self.selectedIndex);
inc.setSrc("gmaps.zul");
}
}</attribute>
<tabs>
<tab id = "tab1label" label="Tab 0"/>
<tab id = "tab2label" label="Tab 1"/>
</tabs>
<tabpanels>
<tabpanel>Test</tabpanel>
<tabpanel><include id="project_tab1" src=""/></tabpanel>
</tabpanels>
</tabbox>
</window>
</zk>
Когда я открываю эту страницу и пробую Tab1, Google Maps нет.Как это можно исправить?