ArcGIS JS Demo
最近在用 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的更多相关文章
- ArcGIS JS 学习笔记3 实现百度风格的BubblePopup
1. 开篇 模仿是最好的学习,这次我们继续山寨百度,通过自定义Infowindow来实现百度风格的BubblePopup 2.准备 2.1 Copy模板 先打开百度地图,按下f12吧BubblePop ...
- ArcGIS JS 学习笔记1 用ArcGIS JS 实现仿百度地图的距离量测和面积量测
一.开篇 在博客注册了三年,今天才决定写第一篇博客,警告自己不要懒!!! 二.关于ArcGIS JS 版本选择 在写这篇博客时ArcGIS JS 4.0正式版已经发布.它和3.x版本的不同是,Map不 ...
- 基于ArcGIS JS API的在线专题地图实现
0 引言 专题地图是突出而深入的表示一种或几种要素或现象,即按照地图主题的要求,集中表示与主题有关内容的地图.专题地图的专题要素多种多样,分类方法也多种多样,根据专题地图表现数据的特点可分为定 ...
- geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式
一个项目使用了ArcGIS JS API开发GIS展示层,但GIS服务使用了Geoserver,这时加载Geoserver数据和查询数据就和之前完全不一样了,以下介绍下我使用ArcGIS JS API ...
- 基于 Koa.js 平台的 Node.js web 快速开发框架KoaHub.js demo 可安装
KoaHub.js demo KoaHub.js KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架.可以直接在项目里使用 ES6/7(Generator Fu ...
- ArcGIS JS 3.x使用webgl绘制热力图
ArcGIS Js Api 3.x 热力图在数据量达到三万左右的时候,绘制速度不尽人意,数据量再大些,缩放时候就会很卡,非常影响客户体验. 参考了一下网上webgl热力图,能达到更流畅 ...
- 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 ...
- 代码高亮插件——wangHightLighter.js——demo演示
wangHighLighter.js demo 语言: 主题: 转换 说明: wangHightLighter.js是一个可以将代码高亮显示的javascript小插件,支持常用的20多语言. ...
- 关于ueditor与arcgis js api同用会报错的问题
在ueditor与arcgis js api共用时,需要将ueditor\third-party\zeroclipboard\ZeroClipboard.js中的 if (typeof define ...
随机推荐
- 使用IAR6.1调试LPCXpresso-cn
由于Manly公司驱动兼容性问题,下载破解版的IAR6.1 使用. http://blog.sina.com.cn/s/blog_48bde2b20101e6v0.html 然后使用IAR打开示例wo ...
- EntityFramework在不同数据库下的配置
1.SQLServer: <connectionStrings> <add name="EntityDesignEntities" connectionStrin ...
- 算法 python实现(一) 基本常识
我算法和数据结构都不好,笨的一比. 现在的目标是熟悉常见和经典算法,看本站两个大牛的博客,在这也推荐一下,特别好,除了算法其他的技术也很不错. Vamei : http://www.cnblogs.c ...
- WinDbg配置和使用基础
WinDbg配置和使用基础 WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. 1. WinDbg介 ...
- 我记录综合系统学习研究之用户管理五(如何利用wojilu打造一个全新的SNS应用)
wojilu框架特别适合快速开发多用户分享内容应用,比如知乎,digg这类应用. 对于博客等用户程序,要有4个入口:1)用户展示入口(展示自己的应用) 2)用户后台管理入口(管理自己的应用) 3)聚合 ...
- Android NDK开发Crash错误定位[转]
使用 ndk-stack 的时候需要你的 lib 编译为 debug版的,通常需要下面的修改: 1. 修改 android.mk,增加,为 LOCAL_CFLAGS 增加 -g 选项 2. 修改 ap ...
- modelsim使用命令
1. 常用仿真命令 vlib work // 建立work仿真库 vmap work wrok // 映射库 vlog -cover bcest *.v // 加覆盖率分析的编 ...
- 2013腾讯编程马拉松初赛第二场(3月22日) 小Q系列故事——为什么时光不能倒流 ---好水!!
我以为我会是最坚强的那一个 我还是高估了自己 我以为你会是最无情的那一个 还是我贬低了自己 就算不能够在一起 我还是为你担心 就算你可能听不清 也代表我的心意 那北极星的眼泪 闪过你曾经的眼角迷离 那 ...
- ActiveMQ入门实例(转)
1.下载ActiveMQ 去官方网站下载:http://activemq.apache.org/ 2.运行ActiveMQ 解压缩apache-activemq-5.5.1-bin.zip,然后双击a ...
- javascript如何监听页面刷新和页面关闭事件
本文转之http://www.qqtimezone.top 在我们的日常生活中,时常遇到这么一种情况,当我们在点击一个链接.关闭页面.表单提交时等情况,会提示我们是否确认该操作等信息. 这里就给大家讲 ...