下面介紹一個最基礎的ArcGIS JavaScript api實作方法,
參考網站是從ArcGIS的官方教學看的,
此篇是小弟第一次寫文章,若是小弟我寫的不好,也可以從官網學習,
https://developers.arcgis.com/en/javascript/jstutorials/
第一步:
再學習ArcGIS JavaScript api前,要先大致了解html和javascript的基礎,不然有點辛苦,首先我們先建立一個最簡單的html網頁
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<title></title>
</head>
</html>
第二步:
我們要在<head>標籤中加入
<link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.4/js/esri/css/esri.css"> <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.4/"></script>
主要是載入CSS的格式以及載入API
第三步:
我們需要在script中呼叫函數
<script>
dojo.require("esri.map");
</script>
並且設定一開始的基本地圖
<script>
dojo.require("esri.map");
function init() {
// 底圖的設定值
}
dojo.ready(init);
</script>
這邊使用dojo.ready去執行底圖
第四步:
一個基本的底圖,可以參考下列去設定
var map;
function init() {
map = new esri.Map("mapDiv", {
center: [-56.049, 38.485],
zoom: 3,
basemap: "streets"
});
}
dojo.ready(init);
center是中心點座標,
zoom是地圖的大小,
basemap是地圖的種類,另外還有下面幾種種類
"satellite", "hybrid", "topo", "gray", "ocean", "osm", "national_geographic"
第五步:
在body增加一個div用來顯示地圖
<body class="claro"> <div id="mapDiv"></div> </body>
另外可以參考官方的說明書在head增加CSS去調整顯示
<style>
html, body, #mapDiv {
padding: 0;
margin: 0;
height: 100%;
}
</style>
最後整合一個完整範例
<!DOCTYPE html>
<html>
<head>
<title>ArcGIS</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.4/js/esri/css/esri.css">
<script src="http://serverapi.arcgisonline.com/jsapi/arcgis/3.4/"></script>
<script>
dojo.require("esri.map");
var map;
function init() {
map = new esri.Map("mapDiv", {
center: [120.84621,23.77770],
zoom: 9,
basemap: "topo"
});
}
dojo.ready(init);
</script>
<style>
html,body,#mapDiv {
padding: 0;
margin: 0;
height: 100%;
}
</style>
</head>
<body>
<div id="mapDiv" style="width:600px; height:600px; border:1px solid #000;"></div>
</body>
</html>
感謝你的文章。很受用!! ^^
回覆刪除