さまざまなコントロールを表示する

ソースコード

//YOLP操作のためのJavaScriptインターフェースオブジェクト
var YOLPSL;
//YOLP地図オブジェクト(Mapオブジェクト)
var ymap;           

///(カセットを含む)YOLPSLロード完了イベント
/// map:YOLP地図オブジェクト
/// cassettes:カセットオブジェクトのディクショナリ(キーはカセット名)
function onLoadComplete(map, cassettes) {
    ymap = map;
    var slPlugin = document.getElementById("slPlugin");
    if (slPlugin && slPlugin.Content) {
        YOLPSL = slPlugin.Content.jsInterface;
        
        document.getElementById("btn_center").onclick   = switchCenterMarkControl;
        document.getElementById("btn_geocoder").onclick = switchGeoCoderControl;
        document.getElementById("btn_home").onclick     = switchHomeControl;
        document.getElementById("btn_layerset").onclick = switchLayerSetControl;
        document.getElementById("btn_pan").onclick      = switchPanControl;
        document.getElementById("btn_scale").onclick    = switchScaleControl;
        document.getElementById("btn_hslider").onclick  = switchSliderZoomControlHorizontal;
        document.getElementById("btn_vslider").onclick  = switchSliderZoomControlVertical;
        document.getElementById("btn_zoom").onclick     = switchZoomControl;
    }
}


//センターマーク表示切替
var CenterMarkControl = null;
function switchCenterMarkControl() {
    if (CenterMarkControl == null) {    //非表示⇒表示
        CenterMarkControl = YOLPSL.CreateInstance("CenterMarkControl");
        ymap.AddControl(CenterMarkControl);
        
    } else {                            //表示⇒非表示
        ymap.RemoveControl(CenterMarkControl);
        CenterMarkControl = null;
    }
}


//ジオコーダコントロール表示切替
var GeoCoderControl = null;
function switchGeoCoderControl() {
    if (GeoCoderControl == null) {        //非表示⇒表示
        GeoCoderControl = YOLPSL.CreateInstanceWithArgs("GeoCoderControl","l1PAPXyxg66W3uMhE3t9_GP_Q0T1iQ7NCBuUh3_UIxL6DqGAAp1nRyY_vhwNV5Kn8xSQxFk-");
        ymap.AddControl(GeoCoderControl);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(GeoCoderControl);
        GeoCoderControl = null;
    }
}


//ホームコントロール表示切替
var HomeControl = null;
function switchHomeControl() {
    if (HomeControl == null) {        //非表示⇒表示
        HomeControl = YOLPSL.CreateInstance("HomeControl");
        ymap.AddControl(HomeControl);
    } else {                            //表示⇒非表示
        HomeControl.Hide();
        ymap.RemoveControl(HomeControl);
        HomeControl = null;
    }
}


//レイヤーセットコントロール表示切替
var LayerSetControl = null;
function switchLayerSetControl() {
    if (LayerSetControl == null) {        //非表示⇒表示
        LayerSetControl = YOLPSL.CreateInstance("LayerSetControl");
        ymap.AddControl(LayerSetControl);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(LayerSetControl);
        LayerSetControl = null;
    }
}


//移動コントロール表示切替
var PanControl = null;
function switchPanControl() {
    if (PanControl == null) {        //非表示⇒表示
        PanControl = YOLPSL.CreateInstance("PanControl");
        ymap.AddControl(PanControl);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(PanControl);
        PanControl = null;
    }
}


//縮尺コントロール表示切替
var ScaleControl = null;
function switchScaleControl() {
    if (ScaleControl == null) {        //非表示⇒表示
        ScaleControl = YOLPSL.CreateInstance("ScaleControl");
        ymap.AddControl(ScaleControl);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(ScaleControl);
        ScaleControl = null;
    }
}


//横ズームスライダー表示切替
var SliderZoomControlHorizontal = null;
function switchSliderZoomControlHorizontal() {
    if (SliderZoomControlHorizontal == null) {        //非表示⇒表示
        SliderZoomControlHorizontal = YOLPSL.CreateInstance("SliderZoomControlHorizontal");
        ymap.AddControl(SliderZoomControlHorizontal);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(SliderZoomControlHorizontal);
        SliderZoomControlHorizontal = null;
    }
}


//縦ズームスライダー表示切替
var SliderZoomControlVertical = null;
function switchSliderZoomControlVertical() {
    if (SliderZoomControlVertical == null) {        //非表示⇒表示
        SliderZoomControlVertical = YOLPSL.CreateInstance("SliderZoomControlVertical");
        ymap.AddControl(SliderZoomControlVertical);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(SliderZoomControlVertical);
        SliderZoomControlVertical = null;
    }
}


//ズームコントロール表示切替
var ZoomControl = null;
function switchZoomControl() {
    if (ZoomControl == null) {        //非表示⇒表示
        ZoomControl = YOLPSL.CreateInstance("ZoomControl");
        ymap.AddControl(ZoomControl);
    } else {                            //表示⇒非表示
        ymap.RemoveControl(ZoomControl);
        ZoomControl = null;
    }
}
Webサービス by Yahoo! JAPAN