amMap開発チュートリアル


fusionMapとamMapは、flashを使用して地理データの表示を実現しています.機能は似ています.いくつかの細かい違いがあります.以下のようにします.
FusionMapフィーチャー:
1)xmlを用いたインタラクションはfusionChartと大きく異なる.
2)resizeを実現できる
3)tooltip,legend link range(領域選択)をサポート
4)地図の省名は変更可能
5)markerの追加をサポートする、カスタムアイコン
Ammapフィーチャー:
1)スケーリング:zoomToLongLat(経度、緯度、スケーリングスケール)zoomToRectangle(左上緯度、右下緯度)など、さまざまなスケーリング効果を実現できます.
地理情報に基づく階層表示をサポートするには、この点が重要ですが、ammapやfusionMapには地理情報がないという悪いところがあります.街や郷鎮の名前などの地理情報が必要な場合は考えずにgoogleMapを使うことをお勧めします.
2)image(ある経緯度または常に前にある)、movie、line、dashed lines、cured line(lineのcurved=trueを設定)のサポート
3)世界地図と組み合わせることでdrill down効果を実現することができ、世界地図の中国部分をクリックし、中国の省地図を表示し、元のパッケージの例を参照することができる.
4)カスタムダイアログ(InfoDescriptionクラス)
5)アイコン、labelをカスタマイズし、緯度に基づいて定義し、ピクセルを地図上に配置する
6)いくつかの省を一組とする
7)TimeLine、ppt、e-learning(timeline+zoomツール実装)、時間変化に基づく熱量マップ(timeLine+地図)、これは公式blog 8を参考にする必要がありますが、私も使ったことがありません.
両者を簡単に比較するだけで、開発したプロジェクトでは地図に階層データを表示する必要があり、スケーリング機能が必要であるため、Ammapを選択し、以下ではAmmapで紹介する.
 
Ammapチュートリアル
初期化表示:
private var _china:Class;
<ammap:AmMap useObjectColorForBalloon="false" rollOverMapObject="rollOver(event)"
rollOutMapObject="rollOut(event)" id="map" developerMode="false" backgroundColor="#FFFFF0"
showMapProgressBar="true" clickMapObject="onClickMapArea(event)" width="100%" height="100%" >
</ammap:areasSettings>
<ammap:MoviesSettings centered="false" bringForwardOnHover="true" rollOverColor="#CC0000" />
 
  
<ammap:areas>
</ammap:areas>

   1.ダウンロードファイルのsampleを使用してロードすると、グラフィックは黄金色で、省名は表示されません.大半はMapAreaのinstancenNameにエラーがあります.
   2.ここでammap:DataSetは左上を設定し、右下の経緯度はmapの表示範囲を決定し、デフォルトでよい.
   3.bordersのMapAreaは境界です.mouseEnabledはマウスイベントがキャプチャされないことを表します
   4. メニュー切り替えを行う場合、reset効果を実現するにはdataSetを空にすることができますが、左上と右下の緯度を再割り当てする必要があります.
dataSet.leftLongitude=73.559248;
dataSet.rightLongitude=134.775703;

    5.mapAreaとmapMoiveのデフォルトスタイルの設定
    6.地図上でクリックすると、eventタイプがMapObjectであるclickMapObjectが傍受されます.
    7. developerModeのオンによりデバッグ情報が表示され、ctrl+0はクリップボードにコピーされます
    8.ammap:labelはhtml形式のラベルをサポートできます
    9. 起動時にズームに入ると、DataSetのzoomLevel,zoomLong,zoomLatを設定することで実現でき、urlはデフォルトで選択されているMapMovieのIdを表し、
tooltip関連スタイルの変更
<ammap:balloon> <ammap:AmBalloon fontSize="18" fillColor="#000000" color="#FFFFFF"/></ammap:balloon>

スケールツールとスケールの使用
<ammap:LegendItem text="  " markerColor="#179C17"/>
<ammap:LegendItem text="  " markerColor="#FCFA51"/>
<ammap:LegendItem text="  " markerColor="#FF0000"/>
<ammap:zoomControl>
</ammap:zoomControl>
 

注意事項:
     1. areaの色はvalueとsolidColorによって自動的に生成されるので、MapAreaの色を指定する場合は、vauleの値を設定しないでください.そうしないと、MapAreaの色がこっそり変わっていることに気づきます.
     2. xmlを使用してMapAreaの割り当てを行う場合、groupフィールドはStringではなくMapObjectのインスタンスであることに注意してください.実装方法は、まず1つのサイクルでMapAreaでインスタンスの割り当てを実装することです.次に、各MapAreaグループの文字列を巡回し、各stringに対してfindObjectを呼び出して対応するMapAreaを得る.配列を得ると、このMapAreaに、例えば、obj.linkWith=groupAreas;     3.各層のデータに対して固定的なスケーリング比を設定することを推奨する
    4.movieを通ります.movieClassは値を割り当てて、アニメーションのアイコンを実現することができて、しかしアイコンがswfフォーマットであることを要求して、gifは支持しません
    5. データの更新が完了するとmapが呼び出される.invalidateData();データ再初期化の実装
    6. イベントを傍受する際に、情報を出力するとeventが呼び出される.toString()関数.
    7.リーフノードをクリックすると、リーフが消えない方法.公式には、葉のzoomLevelを設定せず、MapMovieが含まれていない限り、movieを設定します.remainVisible=true;消えない.しかし、私にはいくつかの問題があります.私の実現構想は:
ブランチノードをクリックすると、そのブランチノードをselectedArea変数に保存します.
リーフノードをブランチノードのmovies配列に追加
リーフノードをクリックすると、現在選択されているオブジェクトをselectedAreaに設定します.