转自原文arcgis for javascriptAPI常用接口

var map, navToolbar, editToolbar, tileLayer, toolbar;
//var mapBaseUrl = "http://localhost:8399/arcgis/rest/services/pdsTile/MapServer";
//var mapDyUrl = "http://localhost:8399/arcgis/rest/services/pds/MapServer";
//var mapDyUrl = "http://10.19.110.130:8080/arcgis/rest/services/BaseMAP/MapServer";
var mapDyUrl = "http://10.19.110.130:8080/arcgis/rest/services/baseMAP/MapServer";
var mapBjUrl = "http://10.19.110.130:8080/arcgis/rest/services/YCBJ/MapServer";
var dynamicMapServiceLayerBj; function init() {
try {
map = new esri.Map("map");
//tileLayer = new esri.layers.ArcGISTiledMapServiceLayer(mapBaseUrl);
//map.addLayer(tileLayer);
var dynamicMapServiceLayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapDyUrl);
map.addLayer(dynamicMapServiceLayer);
dynamicMapServiceLayerBj = new esri.layers.ArcGISDynamicMapServiceLayer(mapBjUrl);
map.addLayer(dynamicMapServiceLayerBj);
//初始化
dojo.connect(map, "onLoad", dxInit);
} catch (e) {
alert("地图初始化失败:" + e.message);
}
} function dxInit() {
try {
//alert(map.isDoubleClickZoom);
//map.disableDoubleClickZoom();
//比例尺显示
//window.setTimeout("queryMapScale.init(map);", 1000);
//禁止双击放大
map.disableDoubleClickZoom();
//初始化导航工具条
navToolbar = new esri.toolbars.Navigation(map);
dojo.connect(navToolbar, "onExtentHistoryChange", extentHistoryChangeHandler);
//初始化在线编辑工具条
editToolbar = new esri.toolbars.Edit(map);
dojo.connect(map.graphics, "onClick", function(evt) {
dojo.stopEvent(evt);
activateToolbar(evt.graphic);
});
//初始化绘制工具条
toolbar = new esri.toolbars.Draw(map);
//dojo.connect(toolbar, "onDrawEnd", addToMap);
//显示坐标
dojo.connect(map, "onMouseMove", showCoordinates);
dojo.connect(map, "onMouseOut", hideCoordinates);
//加载鹰眼图、加载图层列表
dojo.connect(map, "onLayerAdd", showLayers);
//加载之前记录标注
//window.setTimeout("getBz();", 1000);------------------------------
//地图窗口更新
//alert(document.getElementById('map1'));
resizeMap();
dojo.connect(document.getElementById('map1'), 'resize', resizeMap);
//双击map,定位街景
dojo.connect(map, 'onDblClick', zoomTo3D);
//图层控制
layersCotrol([0]);
} catch (e) {
alert("地图初始化失败:" + e.message);
}
}
//图层控制
function layersCotrol(visible) {
try {
dynamicMapServiceLayerBj.setVisibleLayers(visible);
} catch (e) {
alert(e.message);
}
}
//显示图层列表
function showLayers() {
try {
//在下拉框中显示所有图层名称
var layers = dynamicMapServiceLayerBj.layerInfos;
var obj1 = new Option("", -1);
for (var i = 0; i < layers.length; i++) {
var obj = new Option(layers[i].name, i);
dojo.byId("layers").add(obj);
}
} catch (e) {
alert(e.message);
}
}
//选择图层
function selectLayer() {
try {
layersCotrol([dojo.byId("layers").value]);
} catch (e) {
alert(e.message);
}
}
//刷新map
function resizeMap() {
map.resize();
map.reposition();
}
//定位街景
function zoomTo3D(evt) {
var point = evt.mapPoint;
var x = point.x.toFixed(4);
var y = point.y.toFixed(4);
//window.top.addmark(x, y);
//alert(x + '|' + y);
// 定位街景
LocationTrueMap(x, y);
}
// 根据坐标加载街景
function LocationTrueMap(x, y) {
window.top.frames["mapframe"].frames["ldframe"].showVisionByLngLat(x, y); //定位到街景
}
//鹰眼图
function showOverview() {
var layer = new esri.layers.ArcGISDynamicMapServiceLayer(mapDyUrl);
layer.setImageFormat("png24");
try {
var createOverviewMap = function() {
overviewMapDijit = new dijits.overview.OverviewMap({
map: map,
baseLayer: layer,
width: 150,
height: 150,
attachTo: "bottom-right",
expandFactor: 1.42,
color: "#80A8C1",
opacity: 0.5
});
overviewMapDijit.startup();
};
} catch (e) {
alert("加载鹰眼图失败:" + e.message);
}
if (layer.loaded) {
createOverviewMap();
} else {
dojo.connect(layer, "onLoad", createOverviewMap);
}
}
//前一视图、后一视图
function extentHistoryChangeHandler() {
dijit.byId("zoomprev").disabled = navToolbar.isFirstExtent();
dijit.byId("zoomnext").disabled = navToolbar.isLastExtent();
}
//显示坐标值
function showCoordinates(evt) {
try {
var mp = evt.mapPoint;
dojo.byId("info").innerHTML = mp.x.toFixed(4) + "," + mp.y.toFixed(4);
} catch (e) {
alert("显示坐标值错误:" + e.message);
}
}
//隐藏坐标
function hideCoordinates(evt) {
dojo.byId("info").innerHTML = "";
}
//平移
function pan() {
try {
toolbar.deactivate();
map.setMapCursor('default');
navToolbar.activate(esri.toolbars.Navigation.PAN);
} catch (e) {
alert(e.message);
}
}
//清空地图
function clearMap() {
navToolbar.deactivate();
toolbar.deactivate();
map.graphics.clear();
map.setMapCursor('default');
}
//添加标注到地图方法1
var handler; function addBzToMap1() {
toolbar.deactivate();
map.setMapCursor('crosshair');
handler = dojo.connect(map, "onClick", addPoint);
} function add(x, y) {
window.parent.showdialog('add', '', x, y);
} function modify(id, x, y) {
window.parent.showdialog('modify', id, x, y);
} function del(id, x, y) {
//alert(x + "--" + y);
window.parent.showdialog('del', id, x, y);
} function addPoint(evt) {
try {
var symbol = new esri.symbol.PictureMarkerSymbol('images/nav/bz.png', 25, 25);
var point = new esri.geometry.Point(evt.mapPoint, new esri.SpatialReference({
wkid: 4326
}));
var graphic = new esri.Graphic(point, symbol);
map.graphics.add(graphic);
map.infoWindow.setTitle("新标注");
var geoPt = evt.mapPoint;
map.infoWindow.setContent("<b>X坐标: </b>" + geoPt.y.toFixed(4) + "<br><b>Y坐标: </b>" + geoPt.x.toFixed(4) + "<table></table>" + "<br><input type='button' value='添加属性' onclick='window.top.addmark(" + geoPt.x.toFixed(4) + "," + geoPt.y.toFixed(4) + ")'>");
map.infoWindow.show(evt.mapPoint, map.getInfoWindowAnchor(evt.screenPoint));
map.setMapCursor('default');
dojo.disconnect(handler);
window.top.frames["mapframe"].frames["ldframe"].showVisionByLngLat(geoPt.x.toFixed(4), geoPt.y.toFixed(4)); //定位到街景
} catch (e) {
alert("添加标注出错:" + e.message);
}
}
//定位
function zoomToPoint(x, y) {
var geoPoint = new esri.geometry.Point({
"x": x,
"y": y
}, map.spatialReference);
map.centerAndZoom(geoPoint, 3);
}
//小汽车定位
//zoomCar(113.32,23.12);
function zoomCar(x, y) {
navToolbar.deactivate();
map.graphics.clear();
try {
var geoPoint = new esri.geometry.Point({
"x": x,
"y": y
}, map.spatialReference);
map.centerAndZoom(geoPoint);
var symbol = new esri.symbol.PictureMarkerSymbol('images/nav/car.png', 24, 24);
var graphic = new esri.Graphic(geoPoint, symbol);
map.graphics.add(graphic);
} catch (e) {
alert("小汽车定位" + e.message);
}
}
var url = "http://192.168.1.11:8080";
//接收主题名称、坐标值
function getBz(aa) {
var graphicsLayer = new esri.layers.GraphicsLayer();
try {
for (var i = 0; i < aa.length; i++) {
a_x = aa[i][1];
a_y = aa[i][2];
// alert(a_x+"---"+a_y);
var point = new esri.geometry.Point(a_x, a_y, map.spatialReference);
var symbol = new esri.symbol.PictureMarkerSymbol('images/nav/bz.png', 25, 25);
var textSym = new esri.symbol.TextSymbol(aa[i][0]);
textSym.setAlign(esri.symbol.TextSymbol.ALIGN_END);
var graphic = new esri.Graphic(point, symbol);
var infoTemplate = new esri.InfoTemplate();
infoTemplate.setTitle("广告信息");
infoTemplate.setContent(
// "<div style='text-align:center;'><img src='" + url + aa[i][5] + "' alt='" + url + aa[i][5] + "' style='width:100px;height:42px;'/></div>" +
// "<b>广告名称: </b>" + aa[i][3] + "<br/>" +
// "<b>广告位置: </b>" + aa[i][4] + "<br/>" +
// "<br><input type='button' value='修改广告' onclick='map.infoWindow.hide();modify(" + aa[i][0] + "," + a_x + "," + a_y + ")'>" +
// " <input type='button' value='删除广告' onclick='map.infoWindow.hide();del(" + aa[i][0] + "," + a_x + "," + a_y + ")'>"
);
graphic.setInfoTemplate(infoTemplate);
var graphicText = new esri.Graphic(point, textSym);
graphicsLayer.add(graphic);
graphicsLayer.add(graphicText);
if (aa.length == 1) {
// zoomToPoint(a_x, a_y);
}
}
} catch (e) {
alert("获取坐标点数组出错:" + e.message + "---aa:" + aa);
}
map.addLayer(graphicsLayer);
}
//在线编辑--移动要素
function activateToolbar(graphic) {
try {
var tool = 0;
tool = tool | esri.toolbars.Edit.MOVE;
//tool = tool | esri.toolbars.Edit.EDIT_VERTICES;
//tool = tool | esri.toolbars.Edit.SCALE;
//tool = tool | esri.toolbars.Edit.ROTATE;
var options = {
allowAddVertices: true,
allowDeleteVertices: true
};
editToolbar.activate(tool, graphic, options);
dojo.connect(map.graphics, "onDblClick", showInfoWindow);
} catch (e) {
alert("移动要素问题:" + e.message);
}
} function showInfoWindow(evt) {
evt.stopPropagation();
map.infoWindow.setTitle("新标注");
var geoPt = evt.mapPoint;
map.infoWindow.setContent("<b>X坐标: </b>" + geoPt.y.toFixed(4) + "<br><b>Y坐标: </b>" + geoPt.x.toFixed(4) + "<table></table>" + "<br><input type='button' value='添加广告' onclick='map.infoWindow.hide();add(" + geoPt.x + "," + geoPt.y + ")'>");
map.infoWindow.show(evt.mapPoint, map.getInfoWindowAnchor(evt.screenPoint));
}
//框选
function queryBz() {
map.setMapCursor('crosshair');
navToolbar.deactivate();
toolbar.activate(esri.toolbars.Draw.EXTENT);
toolbar.onDrawEnd = function doQueryExtent(extent) {
window.parent.stat(extent.xmin, extent.ymin, extent.xmax, extent.ymax);
// //获取框选区域的坐标范围
// alert("xmax:"+extent.xmax+",xmin:"+extent.xmin+", ymax:"+extent.ymax+",ymin:"+extent.ymin);
};
}

Arcgis for JavascriptAPI 常用接口的更多相关文章

  1. CSharpGL(2)设计和使用场景元素及常用接口

    CSharpGL(2)设计和使用场景元素及常用接口 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...

  2. JDBC常用接口详解

    JDBC中常用接口详解 ***DriverManager 第一.注册驱动 第一种方式:DriverManager.registerDriver(new com.mysql.jdbc.Driver()) ...

  3. Servlet API遍程常用接口和类

    本文主要总结Servlet  API遍程常用接口和类 Servlet API http://tomcat.apache.org/tomcat-5.5-doc/servletapi/index.html ...

  4. 液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍

    液晶常用接口“LVDS.TTL.RSDS.TMDS”技术原理介绍 1:Lvds Low-Voltage Differential Signaling 低压差分信号 1994年由美国国家半导体公司提出之 ...

  5. Java实战之02Hibernate-01简介、常用接口、CRUD操作

    一.Hibernate简介 1.Hibernate在开发中所处的位置 2.ORM映射 Object :面向对象领域的 Relational:关系数据库领域的 Mapping:映射 Object: Re ...

  6. Hibernate常用接口

    Hibernate的接口类型 在了解了Hibernate的基本配置,映射文件后,道路已经铺平了.我们继续往前走.接下来,我们应该做的是了解Hibernate常用的接口,对Hibernate的工作方式进 ...

  7. 【转】Android LCD(二):LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP 平台信息:内核:linux2.6/linux3.0系统:android/ ...

  8. JDBC数据库编程常用接口(转)

    JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各种关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现.这东西能够 ...

  9. C# 常用接口学习 ICollection<T>

    C# 常用接口学习 ICollection<T> 作者:乌龙哈里 时间:2015-11-01 平台:Window7 64bit,Visual Studio Community 2015 参 ...

随机推荐

  1. WPF为stackpanel设置滚动条

    最新遇到ItemControl控件增加滚动条功能,找半天还是在StackPanel模板外添加的. <ScrollViewer x:Name="scrolls" Vertica ...

  2. jQuery下的onChange事件在某些情况下无效

    onChage无效的原因: 虽然表面上感觉是当内容发生变化时,就会触发onchange事件,但是那只能在页面上操作.而如果通过dom对象去修改它的value则什么事也不会发生. onchange触发原 ...

  3. CEF 中的那些坑

    CEF (Chromium Embedded Framework) 的大名也听说很久了,最近因为客户的需求,简单地研究了一下.结果遇到了一个接一个的坑,且慢慢道来.比之前用QtWebkit的坑还要多和 ...

  4. zoj 3827(2014牡丹江现场赛 I题 )

    套公式 Sample Input 33 bit25 25 50 //百分数7 nat1 2 4 8 16 32 3710 dit10 10 10 10 10 10 10 10 10 10Sample ...

  5. openfst常用命令

    记录一些遇到的常用的openfst的命令.help的信息我就不放了,可以自己看. fstaddselfloops: 加一个自旋,一般是在初始节点上.别的节点没试过..这句在生成L.fst的时候有遇到过 ...

  6. 【测试工具】http协议调试利器fiddler使用教程

    转自:http协议调试利器fiddler使用教程http://bbs.phpchina.com/thread-207418-1-1.html Fiddler真乃神器!它和市面上常见的很多web调试器. ...

  7. P1417 烹调方案 背包DP

    题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...

  8. java微信公众号JSAPI支付以及所遇到的坑

    上周做了个支付宝微信扫码支付,今天总结一下.微信相比支付宝要麻烦许多 由于涉及到代理商,没办法,让我写个详细的申请流程,懵逼啊. 笔记地址 http://note.youdao.com/notesha ...

  9. iOS 覆盖率检测原理与增量代码测试覆盖率工具实现

    背景 对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久.如果在开发.测试阶段能够提前暴露问题,就有助于避免线上事故的发生.代码覆盖率检测正是帮助开发.测试同学提前发现 ...

  10. 关于ListView中EditText在软键盘弹出后的焦点问题

    转自:http://www.cnblogs.com/haofei/p/3305030.html 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点. ...