1

ARCGis JavaScript API と dojo を dot net nuke モジュール内で使用してマップを表示しようとしています。IE9 ではこれで問題なく動作しますが、Firefox と chrome ではマップが画面外に集中し、その半分しか div 内に表示されません。div の残りの半分には、ズーム インとズーム アウトのセグメントが正しく配置されていますが、その半分の白い背景だけです。マップをドラッグして領域を埋めることができますが、放すとすぐに中央に近いランダムなポイントにスライドして戻ります. 追加のレイヤーに追加されたオブジェクトも正しくレンダリングされません。

Chrome でデバッガーを使用すると、次のエラーが発生します。

XMLHttpRequest cannot load . Origin http://localhost:63579 is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest cannot load http://server.arcgisonline.com/ArcGIS/rest/info?f=json. Origin http://localhost:63579 is not allowed by Access-Control-Allow-Origin.
Resource interpreted as Script but transferred with MIME type text/pl

ascx ファイルの主なコードは次のとおりです。

<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dojo/dijit/themes/claro/claro.css" />
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/esri/css/esri.css" />
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.2/js/dojo/dojox/grid/resources/Grid.css" />

<telerik:RadCodeBlock runat="server" ID="RadScriptBlock1">

<script type="text/javascript">
    djConfig = {
        parseOnLoad: true
    }
</script>

<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.2"></script>

<script type="text/javascript">
    dojo.require("esri.map");
    dojo.require("dojox.grid.DataGrid");
    dojo.require("dojo.data.ItemFileReadStore");
    dojo.require("esri.tasks.find");

    var findTask, findParams;
    var map, startExtent;
    var grid, store;

    function init() {
        //dojo.connect(grid, "onRowClick", onRowClickHandler);

        //Create map and add the ArcGIS Online imagery layer
        startExtent = new esri.geometry.Extent({ "xmin": -10981000, "ymin": 4215000, "xmax": -10608000, "ymax": 4361000, "spatialReference": { "wkid": 102100 } });
        map = new esri.Map("mapDiv", { extent: startExtent });

        var streetMapLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");
        map.addLayer(streetMapLayer); 
        var oilGasLayer = new esri.layers.ArcGISDynamicMapServiceLayer("Layer2"); //
        map.addLayer(oilGasLayer);
 }

        dojo.addOnLoad(init);
</script>
</telerik:RadCodeBlock>

コンテナはこちら

<div id="mapDiv" style=" border: 1px solid #000; padding: 0; margin: 0"></div>

これまでの私の調査では、ページの読み込み時に httpcontext を処理する必要があることがわかりましたが、それは何もせず、Web サービスが問題であることを示唆しています。しかし、これらのサービスはすべてのブラウザーの他のページの iframe で問題なく表示されるため、私は懐疑的です。それは esri のベース マップになるため、製品が機能していると思われます。

API バージョン 1.6 を使用していたときは、これは問題ではありませんでした。

なぜこれが不正行為なのかについて何か考えはありますか?

4

0 に答える 0