首页 > 解决方案 > 使用 ArcGis Api 显示 InfoWindo

问题描述

大家好,我实际上是在使用 ArcGsi JavaScript API 处理地理应用程序,我正在寻找当用户单击搜索栏中的建议菜单以显示特定功能信息窗口时运行的方法

标签: javascriptapiarcgisesri

解决方案


有几种方法。第一个鼠标拖动选项;

  var services = new FeatureLayer("http://blablabla/MapServer/0", {
        // mode: FeatureLayer.MODE_SNAPSHOT,
        // infoTemplate: popupTemplate,
        outFields: ["NAME", "ID", "VALUE"]
    });
    services.on("mouse-over", function (evt) {

        var t = "<div class='title'><b>${NAME}</b></div><p>${ID}<br>${VALUE}<br>${VALUE}<br><strong>value: </strong>${VALUE}</p>";

        var content = esriLang.substitute(evt.graphic.attributes, t);
        //var highlightGraphic = new Graphic(evt.graphic.geometry, highlightSymbol);
        //map.graphics.add(highlightGraphic);

        dialog.setContent(content);

        domStyle.set(dialog.domNode, "opacity", 1);
        dijitPopup.open({
            popup: dialog,
            x: evt.pageX,
            y: evt.pageY
        });
    });
    services.on("mouse-out", function (evt) {

        closeDialog();
    });

或者第二次离开。点击图形;

  var services = new FeatureLayer("http://blablabla/MapServer/0", {
       mode: FeatureLayer.MODE_SNAPSHOT,
        // infoTemplate: popupTemplate,
        outFields: ["NAME", "ID", "VALUE"]
    });

    services.on("click", function (evt) {

        var name = evt.graphic.attributes.NAME;
        var value = evt.graphic.attributes.VALUE;

        // your custom html
        $("#SevicesContainer").collapse("show");
        $("#SevicesContainer").draggable({ containment: "map", scroll: false });
        $("#SevicesContainer .close").click(function () {
            $("#SevicesContainer").collapse("hide");
        });

    });

推荐阅读