参考:https://blog.csdn.net/lovecarpenter/article/details/52344665
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.17/3.17/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="http://localhost/arcgis_js_api/library/3.17/3.17/esri/css/esri.css" />
<script type="text/javascript" src="http://localhost/arcgis_js_api/library/3.17/3.17/init.js"></script>
</head>
<body>
<div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
</body>
<script>
require(["esri/map","dojo/domReady!"],
function(Map){
var myMap = new Map("mapDiv",{
basemap:"topo", //底图
slider:false, //是否显示地图缩放按钮
logo:false //是否显示esri的logo
});
})
</script>
</html>
代码讲解:
- require函数是dojo提供的一个全局函数,只要引入init.js便可使用,require函数支持AMD(异步模块定义,Asynchronous Module Definition)规范。
- require函数有两个参数,第一个参数是一个数组(用于加载的模块),第二个参数是一个回调函数,注意前后加载的顺序一定要一致,例如require的第一个参数是esri.map,回调函数的第一个参数必须是Map
- require加载的第二个是dojo/domReady!,dojo/domReady!是一个插件(如果加载的模块以感叹号结尾,一般都为插件),此插件的作用是,当Html的dom加载完毕后在执行此函数,类似与window.onload事件。
- Map类中有一个比较特殊的属性叫做basemap,在arcgis api中,esri自己定义了一些底图可直接供我们使用,这些底层的调用,我们可以根据制定basemap属性直接调用已经定义好的底图。
- esri给我们定义的底图有:streets ,satellite ,hybrid, topo, gray,dark-gray, oceans, national-geographic,terrain, osm, dark-gray-vector, gray-vector,streets-vector, streets-night-vector, streets-relief-vector, streets-navigation-vector,topo-vector.terrain, dark-gray, dark-gray-vector, gray-vector, streets-vector,streets-night-vector, streets-relief-vector, streets-navigation-vector , topo-vector,注意:要使用esri定义的底图属性basemap电脑必须联网。
运行: