ArcGIS JS Demo
2024-09-26 20:02:11
最近在用 ArcGIS 写了一个Demo
效果如下:
1. 引用 ArcGIS JS API
arcgis_js_api/init.js
2. 引用 样式
arcgis_js_api/js/esri/css/esri.css
arcgis_js_api/js/dojo/dijit/themes/tundra/tundra.css
3. 引用 ArcGIS JS API 的命名空间
dojo.require("esri.map");
4. 结构模板
dojo.require("esri.map");
funtion init() {
。。。
}
dojo.addOnLoad(init);
5. 事件注册
dojo.connect(map,"eventName",functionCallback);
具体代码:
<script type="text/javascript">
dojo.require("esri.map");
dojo.require("dojo.parser");
dojo.require("esri.layers.agstiled");
dojo.require("esri.toolbars.draw");
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.dijit.Scalebar"); var map, tb;
function init() {
document.getElementById('map').setAttribute('height', window.screen.height);
document.getElementById('map').setAttribute('width', window.screen.width); map = new esri.Map("map");
var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://HostServerIP/arcgis/rest/services/AhMap/MapServer");
dojo.connect(map, "onLoad", function () {
dojo.connect(map, "onMouseMove", showCoordinates);
dojo.connect(map, "onMouseDrag", showCoordinates);
var scalebar = new esri.dijit.Scalebar({
map: map,
scalebarUnit: "metric"
});
ondrawPoint();
});
map.addLayer(layer);
} var mp2;
var mp3;
var picSymbol;
function ondrawPoint() {
var toolbar = new esri.toolbars.Draw(map, { showTooltips: true }); toolbar.activate(esri.toolbars.Draw.POINT); dojo.connect(toolbar, "onDrawEnd", function (geometry) {
map.graphics.clear();
var path = "<%=IconPath %>";
picSymbol = new esri.symbol.PictureMarkerSymbol(path, 50, 50);
var picGraphic = new esri.Graphic(mp2, picSymbol);
map.graphics.add(picGraphic); mp3 = mp2;
document.getElementById("txtLongitude").value = mp2.x;
document.getElementById("txtLatitude").value = mp2.y;
});
} function showCoordinates(evt) {
var mp = evt.mapPoint;
mp2 = mp;
dojo.byId("info").innerHTML = mp.x + ", " + mp.y;
} function doAngle() {
var angle = document.getElementById("txt_angle").value;
picSymbol.setAngle(angle);
map.centerAt(mp3); var extent = map.extent;
map.setExtent(extent.expand(0.99));
} function window.onbeforeunload() {
var jd = document.getElementById("txtLongitude").value;
var wd = document.getElementById("txtLatitude").value;
var jiaod = document.getElementById("txt_angle").value; window.returnValue = jd + "," + wd + "," + jiaod; //返回值
window.close();
} dojo.addOnLoad(init);
</script>
最新文章
- UIweib的简单实用
- angularjs 指令—— 绑定策略(@、=、&;)
- 开发备忘:AngularJS Syntax error, unrecognized expression in template file
- jquery之replaceAll(),replaceWith()方法详解
- 一个通用的makefile
- JVM ,JIT ,GC RUNTIME 解析
- Win8系统 Python安装 - 入门
- git push冲突解决
- NSString 转换 float 的精度问题, 换double类型可以解决
- MFC中全局变量的定义及使用
- SQL Server DBA三十问【转】
- slf4j 之logback日志之sl4j架构【二】
- 【Java学习笔记之二十六】深入理解Java匿名内部类
- 笨鸟先飞之ASP.NET MVC系列之过滤器(01过滤器简介)
- banner无缝轮播【小封装】
- 虚拟机安装CentOS7(一)
- windows系统开启虚拟化
- ValueObject
- C#调用原生C++ COM对象(在C++中实现C#的接口)
- HashMap代码解析
热门文章
- java基础(二十)IO流(三)
- 2D游戏编程5&mdash;锁定频率
- JavaScript高级程序设计23.pdf
- ACM1229_还是A+B(求A的第K位的数公式:A%((int)(pow(10,K)))
- Linux,实时获取磁盘空间
- 小Q书桌的下载、安装和使用
- Yii - 验证和授权(Authentication and Authorization)
- java.util.concurrent 包笔记 --- BlockingQueue
- https_request请求接口返回数据
- Android - 封装Fragment不依赖于Activity