如何正确响应ArcGIS JavaScript API中图形的鼠标事件

 我来答
机涤0Iv
2017-08-03 · 超过54用户采纳过TA的回答
知道答主
回答量:78
采纳率:100%
帮助的人:62万
展开全部
在使用ArcGIS JavaScript API编写程序的时候,程序员往往需要完成这样一个功能:点击地图上的图形,自动进行专题GIS数据查询,当在地图非图形区域上点击时,自动进行底图兴趣点查询。
由于专题GIS图形是叠加在底图上的,所以我们在处理地图的鼠标点击事件时,就需要根据实际点击的位置和内容来对不同的数据进行查询。
ArcGIS JavaScript API为编程人员分别提供了针对地图对象和图形的两个鼠标点击事件。
下面是示例代码:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5 <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" />
6 <title>Test Map</title>
7 <link rel="stylesheet" href="http://localhost/arcgis_js_api/library/3.17/3.17/dijit/themes/claro/claro.css" />
8 <link rel="stylesheet" href="http://localhost/arcgis_js_api/library/3.17/3.17/esri/css/esri.css" />
9 <style>
10 html, body, #ui-map-view {
11 margin: 0;
12 padding: 0;
13 width: 100%;
14 height: 100%;
15 }
16 </style>
17 <script src="http://localhost/arcgis_js_api/library/3.17/3.17/init.js"></script>
18 <script>
19 var myMap;
20 require([
21 "esri/layers/ArcGISTiledMapServiceLayer",
22 "esri/symbols/SimpleMarkerSymbol",
23 "esri/map",
24 "dojo/on",
25 "esri/graphic",
26 "esri/geometry/Point",
27 "dojo/domReady!"
28 ], function ( TileLayer,SimpleMarkerSymbol, Map, on,Graphic,Point){
35 var layer = new TileLayer(
36 "https://www.seanpc.com/ags/rest/services/WorldBaseMap/MapServer"
37 );
38 myMap = new Map("ui-map-view",{
39 center: [-111.87, 40.57]
40 });
41 myMap.addLayer(layer);
42     //地图鼠标点击响应事件
43 on(myMap,"click",function(e){
44 alert("map clicked");
45 });
46
47 myMap.on("load", function() {//图形鼠标点击响应事件
48 myMap.graphics.on("click",function(e){
49 alert("graphic clicked");
50 e.stopPropagation();
51 });
52 var g=new Graphic();
53 g.setGeometry(new Point([-111.87, 40.57]));
54 var simpleMarkerSymbol = new SimpleMarkerSymbol();
55 g.setSymbol(simpleMarkerSymbol);
56 myMap.graphics.add(g);
57 });
58 });
59 </script>
60 </head>
61 <body class="claro">
62 <div id="ui-map-view"></div>
63 </body>
64 </html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beltc4e
2017-07-24 · TA获得超过207个赞
知道小有建树答主
回答量:386
采纳率:28%
帮助的人:125万
展开全部
过半数衷倥着力掷滩
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式