凤老三 2017-08-16 01:35 采纳率: 50%
浏览 2067
已结题

Gis arcgis JavaScript 地图动态加载地图

需求如下,在点击按钮时,根据相关按钮ajax 取得对应的 地图地址,大概想搞成的类似于这样的效果。
function initMap()
{
$.post("/myMap/GetMapUrl",
{ Param:txtName},
function (data, status) {
data = JSON.parse(data);
var view;
var map;
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/MapImageLayer",
"esri/widgets/LayerList",
"esri/widgets/Search",
"dojo/domReady!"
], function (Map, MapView, MapImageLayer, LayerList, Search) {
map = new Map("mapDiv");

        var layer = new MapImageLayer({
            url: Data  //根据ajax 取得的地址

        })
        map.add(layer);

        view = new MapView({
            container: "mapDiv",  // Reference to the DOM node that will contain the view
            map: map               // References the map object created in step 3
        });

    });
              }

}

然后其他地方 的Btn 点击的时候调用,但现在存在 如果这么搞 会死循环导致网页崩溃卡死,如果
require(["esri/layers/MapImageLayer"]);
require(["esri/layers/LayerList"]);
require(["esri/Map"]);
require(["esri/views/MapView"]); 这样申请全局变量 在其他 function 中 还是找不到 map.addLayer(layer2); 的方法 提示 未定义等

  • 写回答

3条回答

  • 罗忠浩 博客专家认证 2017-08-16 02:49
    关注

    反复看了下确实没弄清你说得,如果页面卡死,问题肯定存在于你的请求触发方式,具体问题直接用语言阐述。

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站