2014-09-22 65 views
-1

我的教授希望我在我的代碼中糾正兩件事。第一個是我需要RU休息層被繪製在我的泛洪平面圖層頂部,因此所有其餘圖層都可見。第二,在我的代碼中,似乎有一些東西在切換泛洪平面圖層時重置地圖的比例尺,我寧願如果沒有發生。這裏是我的代碼:繪圖層的順序/切換層次時的維護比例/

<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
    <meta charset="utf-8"> 
    <title>Toggle</title> 
    <style> 
     html, body, #map-canvas { 
     height: 100%; 
     margin: 0px; 
     padding: 0px 
     } 
     #panel { 
     position: absolute; 
     top: 5px; 
     left: 50%; 
     margin-left: -180px; 
     z-index: 5; 
     background-color: #fff; 
     padding: 5px; 
     border: 1px solid #999; 
     } 
    </style> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script> 
    <script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn-history/r172/trunk/arcgislink/src/arcgislink.js"></script> 

    <script> 

var overlay; 
var map; 
var url; 
var dynamap; 

function initialize() { 
    var mapOptions = { 
    zoom: 13, 
    center: new google.maps.LatLng(37.1276, -80.56895), 

    }; 

map = new google.maps.Map(document.getElementById('map-canvas'), 
     mapOptions); 

url = 'http://geog-grant.radford.edu/arcgiscloud/rest/services/RU/MapServer'; 
    dynamap = new gmaps.ags.MapOverlay(url); 

overlay = new google.maps.KmlLayer({ 
    url: 'http://www.radford.edu/kblakemore/KML_Layer_Severity/KML_Floodplain_Radford/doc.kml' 
    }); 


} 

function toggleFloodplain() { 
overlay.setMap(overlay.getMap() ? null : map); 
} 

function toggleRUrest() { 
    dynamap.setMap(dynamap.getMap() ? null : map); 
} 


window.onload = initialize; 


    </script> 

    </head> 
    <body> 
    <div id ="panel"> 

     <p> Floodplains Radford, Virginia </p> 
     <input id= "toggle" type="checkbox" value="toggleFloodplain"  onclick="toggleFloodplain();"> Floodplains </input> 
     <input id= "toggle" type="checkbox" value="toggleRUrest" onclick="toggleRUrest()">Toggle  RUrest</button> 
    </div> 
    <div id="map-canvas"></div> 
    </body> 

</html> 
+1

那你試試?什麼地方出了錯?你做了什麼研究?這個網站並不意味着要爲你做... – bobbyg603 2014-09-22 19:23:34

+0

對不起,這並不意味着它的方式。我只是在尋求一個方向。這是我第一次使用js和html進行編碼(對於java很少有經驗,但它幫助我創建了爲切換實現的功能)。我已經查看了Google地圖的javascript api以及javascrpit的arcGIS api。我在arcGIS javascript中找到了「地圖服務中的重新排序圖層」文檔。它讀取「重新排序圖層,單擊並拖動圖層名稱到一個新的位置。當一個圖層名稱被拖放到列表中的新位置時,請求獲取更新的地圖圖像。 – 2014-09-22 19:53:46

+0

我試過這個它沒有改變任何東西,是因爲一個圖層是一個動態地圖圖層,另一個圖層是KML? – 2014-09-22 19:54:23

回答

0

您必須爲dynamap使用另一個映射窗格。

地圖窗格是在所使用的硬編碼庫(線2796):

panes.overlayLayer.appendChild(div); 

使用例如markerLayer代替overlayLayer

爲了能夠改變它,你必須直接修改庫或覆蓋MapOverlay.prototype.onAdd(這就是窗格將被分配功能)