zoukankan      html  css  js  c++  java
  • arcgis动态层改post请求

    有时候重写 DynamicMapServiceLayer后参数太多要用post请求:
    改arcgis init.js源码:
    搜索
    "esri/layers/ArcGISDynamicMapServiceLayer" 这个关键key对应的类,因为是key value形式
    找到方法getImageUrl
    _jsonRequest是esri/request的别名
    加{usePost: true}
    
    
    getImageUrl: function (b, e, g, f) {
    var k = this._url.path + "/export", q = this._params, r = q.token = this._getToken(),
    p = b.spatialReference.wkid || m.toJson(b.spatialReference.toJson()),
    t = this._errorHandler;
    delete q._ts;
    n.mixin(q, {
    bbox: b.xmin + "," + b.ymin + "," + b.xmax + "," + b.ymax,
    bboxSR: p,
    imageSR: p,
    size: e + "," + g
    }, this.disableClientCaching ? {_ts: (new Date).getTime()} : {});
    q.layerDefs && (b = d._serializeLayerDefinitions(q.layerDefs, 10.5 <= this.version), q = n.mixin({}, q), delete q.layerDefs, q.layerDefs = b);
    b = a.addProxy(a.normalize(k) + "?" + l.objectToQuery(n.mixin({}, q, {f: "image"})));
    /*
    这是原方法,现在直接改为下面的post
    b.length > h.defaults.io.postLength || this.useMapImage ? this._jsonRequest = c({
    url: k, content: n.mixin(q, {f: "json"}), callbackParamName: "callback",
    load: function (b) {
    b.imageData ? b = "data:" + (b.contentType || "image") + ";base64," + b.imageData : (b = b.href, r && (b += -1 === b.indexOf("?") ? "?tokenx3d" + r : "x26tokenx3d" + r), b = a.addProxy(b));
    f(b)
    }, error: t
    }) : f(b)
    */
    this._jsonRequest = c({
    url: k,
    content: n.mixin(q, {f: "json"}),
    callbackParamName: "callback",
    load: function (b) {
    b.imageData ? b = "data:" + (b.contentType || "image") + ";base64," + b.imageData : (b = b.href, r && (b += -1 === b.indexOf("?") ? "?tokenx3d" + r : "x26tokenx3d" + r), b = a.addProxy(b));
    f(b)
    },
    error: t
    }, {usePost: true});
    this._jsonRequest.then(function(b){
    b.imageData ? b = "data:" + (b.contentType || "image") + ";base64," + b.imageData : (b = b.href, r && (b += -1 === b.indexOf("?") ? "?tokenx3d" + r : "x26tokenx3d" + r), b = a.addProxy(b));
    f(b)
    },t);
    }

  • 相关阅读:
    【转载】Hadoop 文件副本存放的位置策略
    【原创】Hadoop 常用命令集锦
    【转载】centos6.2下安装星际译王stardict3.0
    【转载】hadoop之failed task任务和killed task任务
    【原创】linux 下远程连接windows桌面
    【原创】Hadoop配置详解
    【原创】Pig 0.10.0 piggybank 如何编译
    【转载】关于hadoop的dfs.replication
    【原创】centos 安装 thrift 0.8
    【原创】ASP.NET常见问题集锦
  • 原文地址:https://www.cnblogs.com/aoeuy/p/9613067.html
Copyright © 2011-2022 走看看