public async void ExecuteFuction(FunctionType functionType)
        {
            string inputString  = TextInfo;
            string outputString = "";

            if (_utils == null)
            {
                _utils           = new EarthNamedpipeAPIUtils();
                _utils.OnNotify += GetMessageFromArcGISEarth;
            }

            switch (functionType)
            {
            case FunctionType.AddLayer:
            {
                // inputString is Json description of layer
                outputString = _utils.AddLayer(inputString);
                break;
            }

            case FunctionType.ClearLayers:
            {
                // inputString is Json description of target
                outputString = _utils.ClearLayers(inputString);
                break;
            }

            case FunctionType.Connect:
            {
                // inputString is path of arcgis earth
                outputString = await _utils.Connect(inputString);

                break;
            }

            case FunctionType.FlyTo:
            {
                outputString = _utils.FlyTo(inputString);
                break;
            }

            case FunctionType.GetCamera:
            {
                outputString = _utils.GetCamera();
                break;
            }

            case FunctionType.GetSnapshot:
            {
                outputString = _utils.GetSnapshot(inputString);
                break;
            }

            case FunctionType.SetCamera:
            {
                outputString = _utils.SetCamera(inputString);
                break;
            }

            case FunctionType.Help:
            {
                //outputString = File.ReadAllText("C:\\Projects\\arcgisearth-namedpipe-client\\EarthAPITest\\EarthAPITest\\examples.txt");
                outputString = "Example of parameters:\r\n\r\nConnect (Note, it is not belong to API)\r\nC:\\Projects\\earth\\output\\earth_windesktop_release\\bin\\ArcGISEarth.exe\r\n\r\nSetCamera\r\n{  \r\n   \"mapPoint\":{  \r\n      \"x\":-97.283978521275117,\r\n      \"y\":48.422233665100165,\r\n      \"z\":11000000,\r\n      \"spatialReference\":{  \r\n         \"wkid\":4326\r\n      }\r\n   },\r\n   \"heading\":0.0,\r\n   \"pitch\":0.10000000000019954\r\n}\r\n\r\nFlyTo\r\n{  \r\n   \"camera\":{  \r\n      \"mapPoint\":{  \r\n         \"x\":-92,\r\n         \"y\":41,\r\n         \"z\":11000000,\r\n         \"spatialReference\":{  \r\n            \"wkid\":4326\r\n         }\r\n      },\r\n      \"heading\":0.0,\r\n      \"pitch\":0.099999999996554886\r\n   },\r\n   \"duration\":2\r\n}\r\n\r\nAddLayer\r\n{  \r\n   \"type\":\"MapService\",\r\n   \"URI\":\"https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer\",\r\n   \"target\":\"OperationalLayers\"\r\n}\r\n\r\nClearLayers\r\n{  \r\n   \"target\":\"ElevationLayers\"\r\n}\r\n\r\nGetSnapshot (Note, the input parameters is Bitmap instead of string in API)\r\nD:/earth.jpg";
                break;
            }

            case FunctionType.ClearTextBox:
            {
                outputString = "";
                break;
            }

            case FunctionType.CloseConnect:
            {
                _utils.CloseConnect();
                break;
            }
            }

            TextInfo = outputString;
        }
Example #2
0
        private async void ExecuteFuction(FunctionType functionType)
        {
            switch (functionType)
            {
            // More about input string syntax, please refer to "examples.txt".
            case FunctionType.AddLayer:
            {
                OutputString = _utils.AddLayer(InputString);
                break;
            }

            case FunctionType.ClearLayers:
            {
                OutputString = _utils.ClearLayers(InputString);
                break;
            }

            case FunctionType.Connect:
            {
                OutputString = await _utils.Connect();

                break;
            }

            case FunctionType.FlyTo:
            {
                OutputString = _utils.FlyTo(InputString);
                break;
            }

            case FunctionType.GetCamera:
            {
                OutputString = _utils.GetCamera();
                break;
            }

            case FunctionType.GetSnapshot:
            {
                OutputString = await _utils.GetSnapshot(InputString);

                break;
            }

            case FunctionType.SetCamera:
            {
                OutputString = _utils.SetCamera(InputString);
                break;
            }

            case FunctionType.Help:
            {
                OutputString = Properties.Resources.examples;
                break;
            }

            case FunctionType.ClearInputputBox:
            {
                InputString = "";
                break;
            }

            case FunctionType.ClearOutputBox:
            {
                OutputString = "";
                break;
            }

            case FunctionType.CloseConnect:
            {
                _utils.CloseConnect();
                break;
            }

            case FunctionType.GetLayerLoadStatus:
            {
                OutputString = _utils.GetLayerLoadStatus(InputString);
                break;
            }

            case FunctionType.GetWorkspace:
            {
                OutputString = _utils.GetWorkspace();
                break;
            }

            case FunctionType.ImportWorkspace:
            {
                OutputString = _utils.ImportWorkspace(InputString);
                break;
            }

            case FunctionType.Removelayer:
            {
                OutputString = _utils.RemoveLayer(InputString);
                break;
            }
            }
        }