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

ArcGIS JS Demo的更多相关文章

  1. ArcGIS JS 学习笔记3 实现百度风格的BubblePopup

    1. 开篇 模仿是最好的学习,这次我们继续山寨百度,通过自定义Infowindow来实现百度风格的BubblePopup 2.准备 2.1 Copy模板 先打开百度地图,按下f12吧BubblePop ...

  2. ArcGIS JS 学习笔记1 用ArcGIS JS 实现仿百度地图的距离量测和面积量测

    一.开篇 在博客注册了三年,今天才决定写第一篇博客,警告自己不要懒!!! 二.关于ArcGIS JS 版本选择 在写这篇博客时ArcGIS JS 4.0正式版已经发布.它和3.x版本的不同是,Map不 ...

  3. 基于ArcGIS JS API的在线专题地图实现

    0 引言     专题地图是突出而深入的表示一种或几种要素或现象,即按照地图主题的要求,集中表示与主题有关内容的地图.专题地图的专题要素多种多样,分类方法也多种多样,根据专题地图表现数据的特点可分为定 ...

  4. geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式

    一个项目使用了ArcGIS JS API开发GIS展示层,但GIS服务使用了Geoserver,这时加载Geoserver数据和查询数据就和之前完全不一样了,以下介绍下我使用ArcGIS JS API ...

  5. 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装

    KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...

  6. ArcGIS JS 3.x使用webgl绘制热力图

        ArcGIS Js Api 3.x 热力图在数据量达到三万左右的时候,绘制速度不尽人意,数据量再大些,缩放时候就会很卡,非常影响客户体验.     参考了一下网上webgl热力图,能达到更流畅 ...

  7. ArcGIS JS API4 With VueJS集成开发

    1.USING VUEJS WITH ARCGIS API FOR JAVASCRIPT,集成VUE到ArcGIS JS开发中. 2.ARCGIS API 4 FOR JS WITH VUE-CLI ...

  8. 代码高亮插件——wangHightLighter.js——demo演示

    wangHighLighter.js demo 语言:   主题: 转换   说明: wangHightLighter.js是一个可以将代码高亮显示的javascript小插件,支持常用的20多语言. ...

  9. 关于ueditor与arcgis js api同用会报错的问题

    在ueditor与arcgis js api共用时,需要将ueditor\third-party\zeroclipboard\ZeroClipboard.js中的 if (typeof define ...

随机推荐

  1. python 零散记录(三) 格式化字符串 字符串相关方法

    使用 % 符号格式化字符串: """常用转换说明符:""" #%s: 按照str()方式转换 #%r: 按照repr()方式转换 #%d: ...

  2. 个人推荐,比较好的MySQL客户端工具

    关于啊,MySQL客户端,实在是太多了.本人也是正在摸索中. MySQL Workbench phpMyAdmin SQLyog Navicat for MySQL MySQL Server MySQ ...

  3. 基于粒子群算法求解求解TSP问题(JAVA)

    一.TSP问题 TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题.货郎担问题,是数学领域中著名问题之一.假设有一个旅行商人要拜访n个城市,他必须选 ...

  4. 修复南尼U盘

    通常拿到手的U盘,用数码之家的ChipGenius一般检测不出主控型号,所以需要用到U盘量产工具来测. 量产工具注意版本 一般靠后的版本才能识别使用, . 如果识别不了==> 自动换成手动,U盘 ...

  5. JavaScript实现拖拽预览,AJAX小文件上传

    本地上传,提前预览(图片,视频) 1.html中div标签预览显示,button标签触发上传事件. <div  id="drop_area" style="bord ...

  6. SQL 主键和外键约束

    SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外 ...

  7. 【转载】NativeSQL实例

    转自:http://blog.sina.com.cn/s/blog_3f2c03e301017fqz.html     ---------------------------------------- ...

  8. Linux 内核开发—内核简单介绍

    内核简单介绍 Linux 构成 Linux 为什么被划分为系统空间和内核空间 隔离核心程序和应用程序,实现对核心程序和数据的保护. 什么内核空间,用户空间 内核空间和用户空间是程序执行的两种不同的状态 ...

  9. Entity FrameWork 指导文章

    Entity FrameWork学习指导: 转:http://www.entityframeworktutorial.net/code-first/configure-many-to-many-rel ...

  10. Visual Studio2012 Lua插件--BabeLua

    之前,找了好久VS2012的Lua插件,没有找到. 今天在http://www.cocoachina.com/bbs/read.php? tid-205043.html 看到了.cocos2dx-qu ...