Update Version 1.4x

- API Changes -

Added APIs

API to specify the reflectivity of a ghost symbol model face.

  • bool setModelFaceReflect(string id, unsigned int face_index, float reflect)

  • Class: JSGhostSymbolMap

  • Parameters:

    • id: model ID

    • face_index: face index to apply the effect

    • reflect: degree of reflectivity (value between 0.0 and 1.0)

API to initialize color values with a Hex code string (can be set in RGB(#RRGGBB) or ARGB(#AARRGGBB) format).

  • new Module.JSColor(string _hexCode)

  • Class: JSColor

  • Parameter:

    • hexCode: color code string

  • Example

var colorRGB = new Module.JSColor("#FFDB32");
var colorARGB = new Module.JSColor("#AAFFDB32");

API to return mouse picking options.

// false: spatial calculation method, true: graphic determination method
var pickingType = Module.getOption().getPickingCalculateType();

Improved APIs

Added color constants

// JSColor Before
style.setFillColor(new Module.JSColor(255, 255, 240));
// JSColor After
style.setFillColor(Module.COLOR_IVORY);

Added layer type constants

Module.TILE_LAYER_TYPE_REAL3D;

Improved API for returning layer lists

{
// TileLayer Before
var serviceLayerList = new Module.JSLayerList(false);
Module.XDEMapCreateLayer(...);
// TileLayer After
Module.getTileLayerList().createXDServerLayer({...});
}

{
// UserLayer Before
var objectLayerList = new Module.JSLayerList(true);
objectLayerList.createLayer(...);
// UserLayer After
Module.getObjectLayerList().createObjectLayer({...});
}

Improved layer creation API

{
    // TileLayer Before
    var serviceLayerList = new Module.JSLayerList(false);
    Module.XDEMapCreateLayer("facility_build", "http://xdworld.vworld.kr:8080/", 8080, true, true, false, 9, 0, 15);
    // TileLayer After
    Module.getTileLayerList().createXDServerLayer({
        name: "facility_build", // required
        url: "http://xdworld.vworld.kr:8080", // required
        type: Module.TILE_LAYER_TYPE_REAL3D, // required
        visible: false, // optional (default: true)
        selectable: false, // optional (default: true)
        minLevel: 10, // optional (default: 0)
        maxLevel: 14, // optional (default: 15)
    });
}

{
    // UserLayer Before
    var objectLayerList = new Module.JSLayerList(true);
    var layer = objectLayerList.createLayer("layer", Module.ELT_3DPOINT);
    layer.setMinDistance(100.0);
    layer.setMaxDistance(10000.0);
    // UserLayer After
    Module.getObjectLayerList().createObjectLayer({
        name: "facility_build", // required
        type: Module.ELT_3DPOINT, // required
        visible: false, // optional (default: true)
        selectable: false, // optional (default: true)
        minDistance: 100.0, // optional (default: 0.0)
        maxDistance: 1000.0, // optional (default: 3000.0)
    });
}

Improved map initialization API

//  Before
var Module = {
    // Necessary Module options
    postRun: [
        function () {
            "initialize features";
        },
    ],
    canvas: (function () {
        var canvas = document.createElement("canvas");
        canvas.id = "canvas";
        canvas.width = "calc(100%)";
        canvas.height = "100%";
        canvas.style.position = "fixed";
        canvas.style.top = "0px";
        canvas.style.left = "0px";
        canvas.addEventListener("contextmenu", function (e) {
            e.preventDefault();
        });
        document.body.appendChild(canvas);
        return canvas;
    })(),
};
// Initialize the map
Module.Start(window.innerWidth, window.innerHeight - 200);

//  After
// HTML setup
<div id="container" style="position: fixed; width: 100%; height: 100%; z-index: 0"></div>;

// Module setup
var Module = {
    // Necessary Module options
    postRun: [
        function () {
            "initialize features";
        },
    ],
};

// Initialize the map
let container = document.getElementById("container");
Module.initialize({
    container: container,
});

Sandbox Updates

- Update History -

1.49.2 Hotfix (2023/04/07)

  • When entering defaultKey during engine execution, it is mandatory to use an encrypted key

    • To prevent key exposure in the script file, it has been changed to require the use of an encrypted key when entering defaultKey.

1.49.1 Hotfix (2023/04/06)

  • Fixed rendering error in MML_RETURN_ANALYSISPOS mouse mode

1.49.0 (2023/04/04)

  • Fixed angle application error in curvature analysis

  • Fixed editing error in billboard (CJSFigure)

  • Fixed pipe animation error

  • Fixed ghost symbol editing error

1.48.0 (2023/03/24)

  • Added API to return the method of mouse picking.

  • Fixed error occurring while loading xdo models.

1.47.0 (2023/03/13)

  • Restored JSObject setPickable feature

  • Added terrain analysis to 3D visibility analysis

    • Module.getAnalysis().setTerrainAnalysis(true); // Set whether to perform terrain analysis

  • Added IndexedDB API

    • Module.getOption().setIndexedDB(true); // Set whether to use IndexedDB

    • Module.getOption().setMaxIndexedDB(15); // Set the highest level to utilize IndexedDB

1.46.0 (2023/02/22)

  • Completed addition of JSPoint property z_index feature

    • Changing the drawing order feature (the larger the input value, the higher it is visualized, and vice versa)

1.45.0 (2023/02/15)

  • Fixed issue where the map freezes on mobile

  • Modified module for changing polygon outline color

  • Completed modification of JSObject class setSelectable API

  • Completed development of TileObject data visualization module by version

  • Completed development of mouse selection mode feature

    • MML_SELECT_RECT

    • MML_SELECT_POLY

  • Completed development of HTMLObject split screen module

    • HTMLObject is developed dependently on HTML Element, adding a module for output coordinate computation based on specified left, top

    • To be uploaded to the sandbox later

1.44.0 (2023/01/18)

  • Added property to JSOption to set the color displayed when an object is selected.

Module.getOption().selectColor = Module.COLOR_YELLOW;

1.43.0 (2023/01/11)

  • Improved the initialization API Module.Start to Module.initialize

    • Differences from the previous Start

    • The previous Start API rendered the map on a canvas, but the improved initialize API matches a div and automatically creates a map canvas inside the div.

    • Matching the map screen to a div has the following advantages:

      • The process of creating a separate canvas is omitted.

      • Prevents the offset phenomenon that occurs when clicking with the mouse.

      • Easier management of HTML Div Object.

    • The previous Start API could only set the width and height of the screen, but the initialize API allows for complex option applications such as div, canvas id, terrain URL settings.

    • When executing the Module.Resize API, the viewport was adjusted to the canvas size, but when set to div, the viewport is set according to the div size.

  • Added image scale setting property to JSPoint

    • The property image_scale has been added to JSPoint for setting image scale.

    • The default value is 1.0, and at this value, it is rendered at the original image size.

point.image_scale = 0.5;

1.42.1 Hotfix (2023/01/06)

  • Fixed an issue where calling the SyncLayer API in the JSLayerList class caused an error

1.42.0 (2023/01/04)

  • Reduced initial load time and lightened the engine

  • Updated request URLs for MapBox, ArcMap

1.41.0 (2022/12/28)

  • Added feature to return layer lists

    • Layer lists can be returned through Module API without being created each time

    • Improved layer type setting method from true/false distinction to distinction by API name

  • Improved layer creation API

    • Compensated for the inconvenience of many parameters in the XDEMapCreateLayer API for creating tile layers

    • Improved to allow optional application of option values when creating layers

    • Added tile layer type constants

  • Removed shader warning messages

  • Added exception handling for building simple mode rendering

  • Added constant color values for JSColor

1.40.0 (2022/12/21)

  • Simplified console messages output during engine load

  • Added API to specify the reflectivity of ghost symbol faces

  • Added functionality to specify color values with a Hex Code string

Last updated