2

Googleマップをapacheopenmeetings2.0に統合する良い方法はありますか?それを検索して、openlaszlohttp://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に基づいています!誰かがそれを認識していますか?</ p>

4

1 に答える 1

2

Google は、2011 年後半に Google Maps Flash API のサポートを終了しました

「その結果、今後 JavaScript Maps API v3 に注意を向けるために、Maps API for Flash を廃止することを決定しました。つまり、Maps API for Flash アプリケーションは、Maps API で指定された廃止ポリシーに従って引き続き機能します。 API 利用規約、新機能の開発は行われず、重大なバグ、リグレッション、セキュリティの問題のみが修正されます。Maps API for Flash を使用している既存の Google Maps API Premier のお客様へのサポートは引き続き提供されますが、終了します。 Maps API for Flash フォーラムでのデベロッパー リレーションズへの関与。」

したがって、既存の Google Maps API Premier のお客様でない場合は、インキュベーターで Google Maps OpenLaszlo コンポーネントを利用することはできません。代わりに、Google JavaScript Maps API v3を使用してください。マップ オブジェクトは、SWF ランタイムで<html /> タグを使用して統合できます。DHTML ランタイムのみを使用する場合は、マップ オブジェクトをビューの表示オブジェクトに直接アタッチできます。

現在のバージョンの OpenMeetings はまだ SWF ランタイムをデフォルトのターゲット ランタイムとして使用しているように見えるため、<html src="" />タグを介して iFrame を使用するオプションが残されています。

これは、コメントにあるコードに基づく簡単な例です。この例では、LZX ファイルと、Google マップの例を含む HTML ファイルの 2 つのファイルを使用します。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 マップの例

于 2012-11-13T12:02:23.053 に答える