在InfoSymbol的定义中

时间:2022-03-08 02:34:24

近期公司给我一个任务,就是操作arcgis api for flex实如今舆图上点(业务数据)直接显示饼状图以及柱状图的专题图制作。而不是通过点击点显示气泡窗体的形式来实现。这个公司已经实现了。

颠末一段时间的摸索,參照一些网上资源,眼下概略弄出来了,里面还有待完好的处所的。

效果图例如以下:

在InfoSymbol的定义中

(1)Chart.mxml,根基的展示舆图专题图效果的页面 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

 

<?xml version="1.0" encoding="utf-8"?

>

<s:Application xmlns:fx=""

               xmlns:s="library://ns.adobe.com/flex/spark"

               xmlns:mx="library://ns.adobe.com/flex/mx"

               xmlns:esri=""

               pageTitle="Charts in infowindow" xmlns:symbols="com.esri.ags.symbols.*">

 

    <fx:Style>

        .chartStyle

        {

            borderThickness: 0;

            infoPlacement: center;

            backgroundAlpha: 0;

            infoOffsetX: 0;

            infoOffsetY: 0;

            paddingLeft: 0;

            paddingRight: 0;

            paddingTop: 0;

            paddingBottom: 0;

        }

    </fx:Style>

     

    <fx:Script>

        <![CDATA[

            import com.esri.ags.geometry.MapPoint;

            import com.esri.ags.FeatureSet;

            import com.esri.ags.Graphic;

            import com.esri.ags.events.MapEvent;

            import com.esri.ags.tasks.QueryTask;

            import com.esri.ags.tasks.supportClasses.Query;

             

            import mx.collections.ArrayCollection;

            import mx.controls.Alert;

            import mx.events.FlexEvent;

            import mx.rpc.AsyncResponder;

             

            protected function myMap_initializeHandler(event:MapEvent):void

            {

                var pie:MapPoint = new MapPoint(113.55185,22.82289);

                var column:MapPoint = new MapPoint(113.59637985600011,22.758225999000047);

                var bar:MapPoint = new MapPoint(113.52757794,22.84012158);

                var gpie:Graphic = new Graphic(pie);

                var gcolumn:Graphic = new Graphic(column);

                var gbar:Graphic = new Graphic(bar);