0

Google マップを使用する必要があるフラッシュ プロジェクトに取り組んでいます。「Google Maps API for Flash は 2011 年 9 月 2 日に正式に廃止されました」という記事を読みました。私の質問は、Google マップの JavaScript バージョンを Flash プロジェクトに埋め込むことは可能ですか? 私のもう 1 つの質問は、Google マップと同じ品質を提供し、まだサポートされている、Flash に使用できるマッピング ツールを知っている人はいますか? ありがとうございました。

4

1 に答える 1

2

私も同じニーズがあり、すぐに使える優れたソリューションを見つけることができなかったので、同様のプロジェクトの基礎として役立つテストライブラリを以下にコーディングしてコメントしました。

単一のプロバイダーに依存するのではなく、Bing Maps V7、Google Maps V3、およびMapQuest MapsV7JavaScriptマップ全体でFlashに同じ機能を実装しました。このコードは、線、動的マーカー、影などを作成し、それらの標高APIも呼び出します。サンプルアプリは、1つのhtmlページに各マップタイプを2つ作成します。

これを行うには、FlashとJavaScriptが、そのアイテムに固有の名前を持つ登録関数を介してデータやクロージャを使用して相互に呼び出す必要があります。

まず、各マップには一意のmapIdがあり、各マップMXMLコンポーネントは一連の外部メソッドを一意のmapId(fname_mapIdなど)に登録してから、mapId、アプリケーション名を渡す3つのマップタイプのいずれかに対してパラメーター化されたsrcHTMLを使用してFlex-iFrameを作成します。 、開始位置など。

HTMLはこれらのパラメーターを読み取り、アプリケーション名を介して親フレームからSWFオブジェクトを取得します。マップを作成し、リスナーをマップに登録し、そのmapId(fname_mapIdなど)を使用して親フレームにコールバックを追加します。これにより、それぞれが一意のIDを持つマーカーと線を作成し、親フレームに関数を登録します。また、名前にマーカーまたはラインID(fname_mapId_ [lineId | markerId]など)を含めて、アイコン、シャドウ、ラインの色、およびそれらの位置の変更または削除を設定できるようにします。

HTMLはまた、mapIdによって関数を登録して、一般的な位置またはパスの標高をチェックします。これらは、ajaxまたはルーチンを呼び出して標高を要求し、JavaScriptにコールバックしてから、AS3に登録されている関数にコールバックします。

-C

テストアクションとコールバックのロジック-実装されているすべての機能をテストするように設計されています。

Double click on map:
    Create pin:
        - Set to default name
        - Add to map
        - Set icon and shadow (note Bing does not take shadows; Google can take a marker mask for clicking - not implemented)
        - Call to map for elevation
    Remove previous marker
    Log current markers (should be only 1)
    Create black line from start to pin:
        - Change line color to blue
        - Call to map for path elevation
    Remove previous line
    Log current lines (should be only 1)
Drag marker:
    Start:
        - only logs it was called
    Drag:
        - only logs it was called
    End:
        - Move line to new lat lng
        - Set line color to orange
        - Sets map to not accept double clicks
Double click marker:
    - Sets map to accept double clicks again (so after you drag you need to double click a marker to have map accept double clicks again)
Elevation callback:
    - Changes pin name to include elevation in name
    - Sets new icon and shadow for marker
Elevation path callback - set to 300m & 500m - is balloon at 500m on path going to hit? - error if elevation of path >=500, warn if >=300
    - Sets line color if path max elevation as sampled is:
        Purple:       elevation request error flag set
        Red:          at or above error level
        Red-Yellow:   at or above warning but requested distance not met
        Yellow:       at or above warning level
        Yellow-Green: below warning level but requested distance not met
        Green:        below warning level

コードを含む残りの投稿は長すぎてリンクが多すぎるため、すべてをここに配置する必要がありました-ストレートテキストエディターにコピーします-コードはすべてスペースで非常によくフォーマットされています:http://pastebin.com/Jzq5E06F

于 2013-02-22T16:47:47.703 に答える