终于开始了 噩梦一般的ArcGIS 我特别不习惯这种结构化的程序写法 写起来特别吃力 特别是把几个功能整合到同一个页面去的时候。

写程序的时候,一般我喜欢先写个Demo然后再把Demo上面的功能加到页面里面去 结果 加进去之后老是有问题 早了半天 问题还没找到 新的问题又出现了 好了不吐槽了 慢慢来

有关于ArcGIS的介绍 我就不再赘述了 网上有很多。

如何初始化地图

前端:

 html,body {
padding-top: 25px;
margin:;
height: 100%;
} #map {
height: 100%;
width: 100%;
margin:;
padding:;
position: relative;
}

这很重要 如果不定义html和body的高度 你的地图只有400的行号 或者你定义了map的高度 只能是map的高度不能自适应屏幕

脚本:

 var map, pieChart, buffGeom;
require(["esri/map",
"esri/basemaps",
"dojo/domReady!"],
function (Map, esriBasemaps, dom) {
esriBasemaps.tdtvec = {
baseMapLayers: [{ url: "http://..." },
{ url: "http://..." }],
thumbnailUrl: "../Content/image/vectormap.png",
title: "基础地形"
}; esriBasemaps.tdtimg = {
baseMapLayers: [{ url: "http://..." },
{ url: "http://..." }],
thumbnailUrl: "../Content/image/imagemap.png",
title: "影像地图"
}; map = new Map("map", {
basemap: "tdtvec",
center: [120.756, 30.766],
zoom: 13
});
});

这里我自定义了需要叠加的底图(天地图)

如何添加一些小工具

前端:

就是将那些工具定位在地图上 这里就不写出来了 注意的一点是 map的样式上面 需要加上position: relative; 这样 这些工具会随着地图变动 位置跟着移动

脚本:

 var map, msr;
require(["esri/map",
"esri/basemaps",
"esri/units", "esri/dijit/BasemapToggle",
"esri/dijit/HomeButton",
"esri/dijit/Scalebar",
"esri/dijit/Measurement", "dojo/dom",
"dojo/domReady!"],
function (Map, esriBasemaps, Units,BasemapToggle, HomeButton, Scalebar, Measurement, dom) {
esriBasemaps.tdtvec = {
baseMapLayers: [{ url: "http://..." },
{ url: "http://..." }],
thumbnailUrl: "../Content/image/vectormap.png",
title: "基础地形"
}; esriBasemaps.tdtimg = {
baseMapLayers: [{ url: "http://..." },
{ url: "http://..." }],
thumbnailUrl: "../Content/image/imagemap.png",
title: "影像地图"
}; map = new Map("map", {
basemap: "tdtvec",
center: [120.756, 30.766],
logo: false,
zoom: 13
}); //底图切换
var toggle = new BasemapToggle({
map: window.map,
basemap: "tdtimg"
}, "BasemapToggle");
toggle.startup(); //比例尺
var scalebar = new Scalebar({
map: window.map,
scalebarUnit: "metric"
}); //HOME按钮
var home = new HomeButton({
map: window.map
}, "HomeButton");
home.startup(); //测量工具
if (!msr) {
msr = new Measurement({
map: window.map,
defaultAreaUnit: Units.SQUARE_KILOMETERS,
defaultLengthUnit: Units.KILOMETERS
}, dom.byId("measurementDiv"));
msr.startup(); msr.on("measure-end", function (evt) {
this.setTool(evt.toolName, false);
});
}
});

下面是实际样式:

转载请注明地址:http://www.cnblogs.com/CoffeeEddy/p/5643949.html

ArcGIS API for JavaScript 学习笔记(一)的更多相关文章

  1. Arcgis api for javascript学习笔记(4.5版本) - 获取FeatureLayer中的graphics集合

    在Arcgis api for javascript 3.x 版本中,我们可以直接通过某个FeatureLayer对象中的graphics属性获取要素集合. graphics属性 但是在4.x版本中, ...

  2. Arcgis api for javascript学习笔记(4.5版本) - 本地部署及代理配置

    在开发过程中,由于api的文件比较多,没必要每个项目都将api加入到解决方案中.况且在VS中如果将api加入解决方案,在编写css或js代码时,由于智能提示需要扫描脚本等文件,会导致VS很卡.所以个人 ...

  3. Arcgis api for javascript学习笔记(3.2X版本)-初步尝试

    Arcgis api for javascript(3.22版本)官方地址 :https://developers.arcgis.com/javascript/3/ 1. 根据官方示例实现一个简单地图 ...

  4. Arcgis api for javascript学习笔记 - 不改变默认端口(6080)情况下,外网访问Arcgis Server 发布的接口

    Arcgis Server发布的地图服务地址默认端口号是6080,假设本机上只对80端口做了外网映射,在IIS中部署了一个网站绑定了80端口,那么网站中某个页面通过arcgis api for js ...

  5. Arcgis api for javascript学习笔记(4.6版本) - 二维MapView中的FeatureLayer显示标注

    4.6版本api的FeatureLayer中有提供 labelsVisible 和 labelingInfo 两个属性,设置这两个属性可以实现显示将属性中某个字段作为标注.但是这两个属性只针对三维Sc ...

  6. Arcgis api for javascript学习笔记-控制地图缩放比例尺范围(3.2X版本与4.6版本)

    Ⅰ. 在3.X版本中,设置Map对象的 "maxScale" 和 "minScale" 属性 <!DOCTYPE html> <html> ...

  7. Arcgis api for javascript学习笔记(4.5版本) - 点击多边形(Polygon)并高亮显示

    在现在的 arcgis_js_v45_api 版本中并没有直接提供点击Polygon对象高亮显示.需要实现如下几个步骤: 1.点击地图时,获取Polygon的Graphic对象: 2.对获取到的Gra ...

  8. Arcgis api for javascript学习笔记(4.5版本)-三维地图实现弹窗功能

    1. 对于Graphic对象,在初始化Graphic对象时设置popupTemplate属性,即可实现点击Graphic时显示弹窗. <!DOCTYPE html> <html> ...

  9. Arcgis api for javascript学习笔记(4.5版本)-三维地图的飞行效果

    其实就只是用到了 view.goTo()  函数,再利用 window.setInterval()  函数(定时器)定时执行goTo().代码如下: <!DOCTYPE html> < ...

  10. Arcgis api for javascript学习笔记(4.5版本)-三维地图并叠加天地图标注

    1.三维地图实现 在官网的demo中就有三维地图的实现,如下图所示 <!DOCTYPE html> <html> <head> <meta charset=& ...

随机推荐

  1. Component migration documentation

    Component migration documentation The following is a list of migration documents for components we s ...

  2. MS OFFICE 2010破解版安装

    受人所托发布一个MS OFFICE 2010破解版的傻瓜安装教程,刚好新本本也没有安装,安装过程中截了几个图就搞定了. 安装包: http://www.itopdog.cn/soft/office20 ...

  3. Android 自学之星级评分条RatingBar

    星级评分条(RatingBar)与拖动条十分相似,他们还有共同的父类AbsSeekBar.实际上星级评分条和拖动条的用法和功能都十分的接近:他们都允许用户通过拖动来改变进度.RatingBar与See ...

  4. Django request 常用属性

    一.request属性 path  获取url全路径(出去域名外) 用法: request.path GET 用户所有的get内容以字典的形式存储 例:{'name':'alan'} 用法: data ...

  5. Windows环境下使用Apache+mod_wsgi部署webpy

    1.安装Python和Apache. 2.安装mod_wsgi后获得wsgi.so,并将wsgi.so放到Apache的modules文件夹下. 3.安装webpy. 4.打开httpd.conf(在 ...

  6. win7 X64可用的单文件IE7 遨游美化版

    这个是在深度社区淘来的,哇,才700多Kb,而且里面还集成了很多的功能,在win7 X64下面正常运行.哈哈 分享给大家: http://pan.baidu.com/share/link?uk=171 ...

  7. Android开发了解——ODEX

    ODEX是安卓上的应用程序apk中提取出来的可运行文件,即将APK中的classes.dex文件通过dex优化过程将其优化生成一个·dex文件单独存放,原APK中的classes.dex文件会保留.这 ...

  8. Thinkphp kindeditor 内容转义

    参考了:[解决]ThinkPHP整合Html编辑器时出现自动转义的问题 遇到问题也是保存到数据库中的内容,会转义成“\"” 使用 $data['content'] = stripslashe ...

  9. oc 通过webView调用js方法

    - (void)viewDidLoad { [super viewDidLoad]; //加载本地web页面 web = [[UIWebView alloc]init]; web.background ...

  10. 源代码jar包中中文注释乱码

    目前公司开发的多个组件有打包源代码并发布到nexus,但是很多同事通过maven使用组件时,直接通过eclipse浏览源代码时,发现中文注释为乱码的问题.其实这个eclipse默认编码造成的问题.可以 ...