1

zomm ボタン (およびその他のボタン) を実装しようとしており、esri javascript api を使用しています。

esri のデフォルト ボタンを非表示にし、独自のズームイン ボタンを使用したいと考えています。こちらを参照してください: http://jsfiddle.net/nxuq857d/

    var map;
    // esri map initialization
    require(["esri/map", "esri/geometry/Point",
    "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol",
    "esri/graphic", "dojo/domReady!"], function (Map, Point,
    SimpleMarkerSymbol, SimpleLineSymbol,
    Graphic, Color) {
            map = new Map("map", {
            center: [0, 0],
            zoom: 5,
            basemap: "topo",
            slider: true // set to false to remove default zoom buttons
        });
    });

デフォルトの esri ズーム ボタン (ズームイン) と同じ機能を実行したい。どうやってするか?

また、マップ関数の外部からマップを参照することに問題があります...それも手伝っていただければ。他の機能からマップを参照し、ズームイン機能などを実行する方法。後:

        });
    });

thnxたくさん

4

2 に答える 2

2

最初に、「zoombutton」DOM 要素のクリック イベントをサブスクライブする必要があります。ネイティブ API または jquery ($('#zoombutton').on) または dojo/on モジュールなどを使用して実行できます。

グローバル スコープでマップを初期化したため、イベント コールバック関数でマップにアクセスでき、マップの次のレベルを設定するだけです ( https://developers.arcgis.com/javascript/jsapi/map.html#setlevel )。

関数の例:

document.getElementById('zoombutton').addEventListener('click', function(){
   map.setLevel(map.getLevel()+1);
});

より再利用可能でモジュール化されたものが必要な場合は、ここで詳細な手順を参照できますhttps://developers.arcgis.com/javascript/jshelp/intro_custom_dijit.html

于 2014-10-26T17:25:07.920 に答える
1

これを参照してください: http://jsfiddle.net/moizhb/rLwaytnp/

必要なのは、クリック イベントをサブスクライブして setZoom を呼び出すことだけです。

on(dom.byId("zoomInBtn"), "click", function(evt){map.setZoom(map.getZoom()+1);});
on(dom.byId("zoomOutBtn"), "click", function(evt){map.setZoom(map.getZoom()-1);});
于 2014-10-27T03:44:22.750 に答える