Есть ли хороший способ интегрировать карту Google в apache openmeetings 2.0?

Есть ли хороший способ интегрировать карту google в apache openmeetings 2.0? /?r=32#googlemapsonlaszlo%253Fstate%253Dclosed" rel="nofollow">http://code.google.com/p/openlaszloincubator/source/browse/trunk/googlemapsonlaszlo/?r=32#googlemapsonlaszlo%253Fstate%253Dclosed и сайт http://code.google.com/p/openmeetings/source/browse/trunk/singlewebapp/WebContent/lps/components/incubator/googlemap.lzx?r=3529, которые не основано на openmeetings 2.0! Кто-нибудь понимает это?


person feythin    schedule 13.11.2012    source источник


Ответы (1)


В конце 2011 года компания Google объявила Google Maps Flash API устаревшими< /а>.

«В связи с этим мы решили прекратить поддержку API Карт для Flash, чтобы в будущем сосредоточить наше внимание на JavaScript API Карт v3. Это означает, что хотя приложения Maps API для Flash будут продолжать функционировать в соответствии с политикой устаревания, указанной в Условия использования API, новые функции разрабатываться не будут, будут исправлены только критические ошибки, регрессии и проблемы безопасности. Мы продолжим оказывать поддержку существующим клиентам Google Maps API Premier, использующим Maps API для Flash, но прекратим Участие разработчиков по связям с разработчиками в форуме Maps API for Flash».

Поэтому, если вы еще не являетесь клиентом Google Maps API Premier, вы не сможете использовать Компонент Google Maps OpenLaszlo в инкубаторе. Вместо этого следует использовать API Google JavaScript Maps v3. Объект карты можно интегрировать с помощью тега ‹html /› в среде выполнения SWF. Если вы планируете использовать только среду выполнения DHTML, вы можете прикрепить объект карты непосредственно к экранному объекту представления.

Поскольку текущая версия OpenMeetings по-прежнему использует среду выполнения SWF в качестве целевой среды выполнения по умолчанию, у вас остается возможность использовать iFrame через тег <html src="" />.

Вот простой пример, основанный на коде, который вы указали в своем комментарии. В примере используются два файла: один файл LZX и один файл HTML, содержащий пример Google Maps. Вот код LZX:

<canvas height="500">

  <class name="showGISWindow"
     extends="view"
     width="464" height="440">
    <method name="setLatLong" args="lat,lng">
        this.maps.callJavascript('centerMap(' + lat + ', ' + lng + ')' );
    </method>

    <button text="Show New York"
            align="center"
            onclick="parent.setLatLong(40.69847032728747, -73.9514422416687)" />

    <html name="maps" src="gmaps.html"
      x="15" y="45"
      width="${parent.width - 30}"
      height="${parent.height - 45}" />

  </class>

  <showGISWindow id="gis" x="10" y="10" />

</canvas>

И соответствующее содержимое страницы gmaps.html, которое загружается в iFrame:

<!DOCTYPE html>
<html>
  <head>
    <title>Google Maps JavaScript API v3 Example: Map Simple</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      html, body, #map_canvas {
        margin: 0;
        padding: 0;
        height: 100%;
      }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
    <script>
      var map;
      function initialize() {
        var mapOptions = {
          zoom: 8,
          center: new google.maps.LatLng(-34.397, 150.644),
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map_canvas'),
            mapOptions);
      }

      function centerMap(lat, lng) {
        map.setCenter(new google.maps.LatLng(lat, lng));
        map.setZoom(11);
      }

      google.maps.event.addDomListener(window, 'load', initialize);
    </script>
  </head>
  <body>
    <div id="map_canvas"></div>
  </body>
</html>

При нажатии кнопки приложения OpenLaszlo вызывают функцию centerMap(lat, lng) на HTML-странице и центрируют карту в Нью-Йорке. Вот скриншот приложения в среде выполнения SWF10:

Пример OpenLaszlo Google Maps

person raju-bitter    schedule 13.11.2012
comment
спасибо, Раджу Горький! Я пишу файл lzx. ‹class name=showGISWindow extends=labelExplorerBox labelid=1515 стыковка=true closable=true width=464 x=200 y=100 spacing=4 height=440› ‹текст кнопки=map onclick=ht.setAttribute('src', 'ditu.google.cn/') /› ‹html id=ht src=ditu.google.cn x=15 y=15 width=${parent.width - 30} height=${parent.height - 30}/› ‹/class›, когда он показывает окно, он не может загрузить HTML. и показать предупреждение ПРЕДУПРЕЖДЕНИЕ @extensions/html.lzx≈29: ссылка на неопределенное свойство '[]' есть ли что-то, что я сделал неправильно? - person feythin; 14.11.2012
comment
Я добавил в свой ответ пример приложения LZX с соответствующим HTML-файлом, содержащим код Google Maps. - person raju-bitter; 14.11.2012
comment
Спасибо за ваше предложение! Код, который вы указали выше в файле LZX, имеет тег холста. У openmeetings есть только один тег холста, который находится в файле main.lzx. поэтому мой вопрос в том, как интегрировать его в приложение openmeetings, а не открывать новое! спасибо! - person feythin; 15.11.2012
comment
Поскольку мы знаем, что доска является общей, ее может видеть любой человек в комнате. Возможно ли, чтобы мы делились gmaps для всех? так что мы можем нацарапать на карте. - person feythin; 15.11.2012
comment
Для интеграции интерактивной доски OpenMeetings, вероятно, лучше задать вопрос в списке рассылки разработчиков OpenMeetings. Интеграция этого кода LZX в существующий холст — это просто копирование и вставка, я не знаю, каковы зависимости для доски. Если вы хотите рисовать на карте, существует техническое ограничение для iFrame и Flash-роликов, поскольку вы не можете размещать представления Flash поверх содержимого iFrame. В качестве обходного пути вы можете использовать API статических карт developers.google.com/maps/documentation/ staticmaps и установите изображение в качестве ресурса представления в OpenLaszlo. - person raju-bitter; 15.11.2012
comment
Я помещаю файл html (gmaps.html) вместе с файлом LZX в ту же папку и устанавливаю значение src тега html gmaps.html, но также показывает предупреждение @extensions/html.lzx≈29: ссылка на неопределенное свойство '[]'. и не могу показать карту. - person feythin; 16.11.2012
comment
Какую версию OpenLaszlo вы используете? Я использую транк версии 5.0 и тестировал с Chrome и Firefox, но не с IE. - person raju-bitter; 16.11.2012
comment
openlaszlo-4.9.0, он отлично работает в приложении Openlaszlo, но не работает в openmeetings2, я думаю, это могут быть проблемы с openmeetings ~ - person feythin; 16.11.2012
comment
привет, раджу-горький! Я запускаю этот localhost:8080/openlaszlo- 4.9.0/examples/googlemap/showmap.lzx работает нормально, однако я компилирую файл lzx в swf с помощью swf8 SOLO и запускаю это localhost:8080/openlaszlo4.9.0/examples/googlemap/ показывает предупреждение WARNING @extensions/html. lzx≈29: ссылка на неопределенное свойство '[]' ПРЕДУПРЕЖДЕНИЕ: создать неопределенное - person feythin; 20.11.2012
comment
Похоже, вы создаете swf-файл SWF8 SOLO и загружаете его в браузер. Это не сработает. Вы ДОЛЖНЫ использовать действительную HTML-страницу для встраивания, например. тот, который генерируется при компиляции приложения с использованием your_lzx_file.lzx?lzr=swf8&proxied=false&lzt=html. Откройте исходный код HTML и сохраните файл, снова откройте его в браузере, и приложение будет работать без проблем. Я тестировал WinXP/IE8 и Chrome в Linux на Windows. - person raju-bitter; 20.11.2012