文档章节

Arcgis for Javascript中给出坐标点定位

龙马行空
 龙马行空
发布于 2014/06/25 20:52
字数 458
阅读 1488
收藏 1

1、引用gis的css样式和js文件

@*gis的css*@
<link href="http://11.101.9.53/arcgis_js_v39_sdk/arcgis_js_api/library/3.9/3.9/js/dojo/dijit/themes/claro/claro.css" rel="stylesheet" />
<link href="http://11.101.9.53/arcgis_js_v39_sdk/arcgis_js_api/library/3.9/3.9/js/esri/css/esri.css" rel="stylesheet" />

@*gis的js*@
<script src="http://11.101.9.53/arcgis_js_v39_sdk/arcgis_js_api/library/3.9/3.9/init.js"></script>
<script src="/Static/js/gis.js"></script>


2、

var GISSERVERURL = "http://11.101.9.53:6080/";// 定义地图的服务器地址
var map;// 定义地图容器
var locationPoint;// 定义定位地图的方法

// 加载地图引用
require([
    "esri/SpatialReference",
    "esri/arcgis/utils", "esri/dijit/Print",
    "esri/tasks/PrintTemplate", "esri/config",
    "dojo/_base/array",
    "esri/map",
    "esri/layers/ArcGISTiledMapServiceLayer",
    "esri/layers/GraphicsLayer",
    "esri/dijit/HomeButton",
    "esri/toolbars/draw",
    "esri/toolbars/edit",
    "esri/graphic",
    "esri/symbols/PictureMarkerSymbol",
    "esri/symbols/SimpleMarkerSymbol",
    "esri/symbols/SimpleLineSymbol",
    "esri/symbols/SimpleFillSymbol",
    "esri/dijit/Scalebar",
    "esri/geometry/Extent",
    "esri/geometry/Geometry",
    "esri/geometry/Point",
    "esri/layers/FeatureLayer",
    "esri/layers/GraphicsLayer",
    "esri/layers/ArcGISDynamicMapServiceLayer",
    "esri/renderers/ClassBreaksRenderer",
    "esri/dijit/Popup",
    "esri/dijit/PopupTemplate",
    "esri/dijit/InfoWindow",
    "esri/tasks/QueryTask",
    "esri/tasks/query",
    "dijit/Menu",
    "dijit/MenuItem",
    "dijit/MenuSeparator",
    "dojo/_base/connect",
    "dojo/_base/event",
    "dojo/dom", "dojo/parser", "dojo/on", "dojo/_base/Color",
    //"agsjs/dijit/TOC",
    "dojo/fx",
    "dijit/layout/BorderContainer",
    "dijit/layout/ContentPane",
    "dojo/domReady!"
], function (
    SpatialReference,
    arcgisUtils, Print,
    PrintTemplate, esriConfig,
    arrayUtils,
    Map,
    ArcGISTiledMapServiceLayer,
    GraphicsLayer,
    HomeButton,
    Draw,
    Edit,
    Graphic,
    PictureMarkerSymbol,
    SimpleMarkerSymbol,
    SimpleLineSymbol,
    SimpleFillSymbol,
    Scalebar,
    Extent, Geometry, Point, FeatureLayer, GraphicsLayer, ArcGISDynamicMapServiceLayer, ClassBreaksRenderer,
    Popup, PopupTemplate, InfoWindow, QueryTask, Query, Menu, MenuItem, MenuSeparator,
    connect, event, dom, parser, on, color
) {

    // 初始化地图容器
    map = new Map("dituContent", {
        logo: false,
        slider: true,
        aotoResize: true
    });

    // 初始化地图
    var AdministrativeMapUrl = GISSERVERURL + "arcgis/rest/services/ThematicMaps/AdministrativeMap/MapServer";
    var AdministrativeMap = new ArcGISDynamicMapServiceLayer(AdministrativeMapUrl);

    // 地图容器加载地图
    map.addLayer(AdministrativeMap);
    var areaExtentInit = new Extent({ "xmin": 496842.59900993377, "ymin": 4545585.342776724, "xmax": 540778.3368816553, "ymax": 4569334.390274952, "spatialReference": { "wkid": 2387 } });
    map.setExtent(areaExtentInit);

    map.on("load", function () {
        // 地图定位事件。
        locationPoint = function (x, y) {
            // 动态图定义的显示范围
            var areaExtentInit = new Extent({ "xmin": 516564.5131023098, "ymin": 4554743.569218228, "xmax": 517937.5049108011, "ymax": 4555485.726952547, "spatialReference": { "wkid": 2387 } });
            map.setExtent(areaExtentInit);

            // 定义显示的水滴图标
            var markerSymbol = new SimpleMarkerSymbol();
            markerSymbol.setPath("M16,3.5c-4.142,0-7.5,3.358-7.5,7.5c0,4.143,7.5,18.121,7.5,18.121S23.5,15.143,23.5,11C23.5,6.858,20.143,3.5,16,3.5z M16,14.584c-1.979,0-3.584-1.604-3.584-3.584S14.021,7.416,16,7.416S19.584,9.021,19.584,11S17.979,14.584,16,14.584z");
            markerSymbol.setColor(new color([240, 3, 15, 1]));

            //定位点
            var point = new Point(x, y, new SpatialReference({ wkid: 2387 }));
            map.centerAt(point);

            //在地图上显示水点图标并定位
            var gra = new Graphic(point, markerSymbol);
            map.graphics.add(gra);
        };
    });
});


© 著作权归作者所有

共有 人打赏支持
龙马行空
粉丝 388
博文 127
码字总数 119251
作品 0
房山
前端工程师

暂无文章

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部