Не могу интегрировать Google Maps в компонент Tab - PullRequest
0 голосов
/ 15 декабря 2011

Я работаю с 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 нет.Как это можно исправить?

Ответы [ 2 ]

0 голосов
/ 20 августа 2013

Вы можете создать статическую html или jsp страницу с кодом карты Google, а затем загрузить эту страницу в iframe.

Это лучший вариант, если вы используете версию CE.

Вы можете создатьдаже пользовательский элемент управления картой Google ZK с этой «картой iframe», со всеми функциями, необходимыми для работы с картой, но для этого потребуется некоторое кодирование javascript.

Это то, что я сделал.

0 голосов
/ 21 декабря 2011

Вы можете попробовать zk gmaps 3.0.0. Бета, его можно загрузить по адресу zkgmapsz

С уважением,

ben

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...