最近在用 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>

最新文章

  1. UIweib的简单实用
  2. angularjs 指令—— 绑定策略(@、=、&amp;)
  3. 开发备忘:AngularJS Syntax error, unrecognized expression in template file
  4. jquery之replaceAll(),replaceWith()方法详解
  5. 一个通用的makefile
  6. JVM ,JIT ,GC RUNTIME 解析
  7. Win8系统 Python安装 - 入门
  8. git push冲突解决
  9. NSString 转换 float 的精度问题, 换double类型可以解决
  10. MFC中全局变量的定义及使用
  11. SQL Server DBA三十问【转】
  12. slf4j 之logback日志之sl4j架构【二】
  13. 【Java学习笔记之二十六】深入理解Java匿名内部类
  14. 笨鸟先飞之ASP.NET MVC系列之过滤器(01过滤器简介)
  15. banner无缝轮播【小封装】
  16. 虚拟机安装CentOS7(一)
  17. windows系统开启虚拟化
  18. ValueObject
  19. C#调用原生C++ COM对象(在C++中实现C#的接口)
  20. HashMap代码解析

热门文章

  1. java基础(二十)IO流(三)
  2. 2D游戏编程5&mdash;锁定频率
  3. JavaScript高级程序设计23.pdf
  4. ACM1229_还是A+B(求A的第K位的数公式:A%((int)(pow(10,K)))
  5. Linux,实时获取磁盘空间
  6. 小Q书桌的下载、安装和使用
  7. Yii - 验证和授权(Authentication and Authorization)
  8. java.util.concurrent 包笔记 --- BlockingQueue
  9. https_request请求接口返回数据
  10. Android - 封装Fragment不依赖于Activity