FK JavaScript之:ArcGIS JavaScript添加Graphic,地图界面却不显示
使用ArcGIS JavaScript,往地图中添加几个Graphic,基本是与官网示例代码一致.绘制的图形一闪而过之后,就没了
核心代码如下:
iniToolBar: function () {
                    ttb = new Draw(map);
                    //ttb.on("draw-end", addGraphic);  //绑定不上
                    ttb.onDrawEnd = addGraphic;
                    map.disableMapNavigation();
                    ttb.activate(this.tooltype.toLowerCase());
                    var TempGraphicsLayer;
                    if ((TempGraphicsLayer=map.getLayer("tmpGrpBoundary")) == null) {
                        TempGraphicsLayer = new GraphicsLayer({ opacity: 0.95, id: "tmpGrpBoundary" });
                        map.addLayer(TempGraphicsLayer);
                    }
                    function addGraphic(evt) {
                        console.log("开始绘图");
                        //增加Graphic至地图
                        ttb.deactivate();
                        map.enableMapNavigation();
                        //使用相应的符号
                        var symbl;
                        if (this.symbolType == "") {
                            // lineSymbol used for freehand polyline, polyline and line.
                            var lineSymbol = new CartographicLineSymbol(
                              CartographicLineSymbol.STYLE_SOLID,
                              new Color([255, 0, 0]), 10,
                              CartographicLineSymbol.CAP_ROUND,
                              CartographicLineSymbol.JOIN_MITER, 5
                            );
                        }
                        else if (this.symbolType == "boundary") {
                            symbl = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([255, 0, 0]), 2), new Color(255, 255, 0, 0.25));
                        }
                        else {
                            //symbl = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([255, 0, 0]), 2), new Color(255, 255, 0, 0.95));
                            var symbl = new PictureFillSymbol(
          "img/error.png",
          new SimpleLineSymbol(
            SimpleLineSymbol.STYLE_SOLID,
            new Color('#000'),
            1
          ),
          42,
          42
        );
                        }
                        TempGraphicsLayer.add(new Graphic(evt.geometry, symbl));
                        //更新前端经纬度
                    }
                }
经过仔细排查,发现添加的Graphic的Geometry属性为undefined,进一步排查为evt无geometry属性
//ttb.on("draw-end", addGraphic);  //绑定不上
 ttb.onDrawEnd = addGraphic;
原因在此代码处.最初调试的时候,使用上面的代码,事件绑定一直不成功,所以就使用了下面的代码绑定事件
下面的代码绑定的,可正常执行,只是没有图形.经过排查,发现两个绑定方式,evt事件的参数存在不同

使用on绑定后,evt参数如下

菜鸟忙着干活,只描述错误,记录解决方法,不分析原因
FK JavaScript之:ArcGIS JavaScript添加Graphic,地图界面却不显示的更多相关文章
- FK JavaScript之:ArcGIS JavaScript API之地图动画
		
地图要素动画应用场景:动态显示地图上的要素的属性随着时间的改变而改变,并根据其属性的变化设置其渲染.比如:某水域项目中,随着时间的变化,动态展现水域的清淤进度 本文目的:对ArcGIS JavaScr ...
 - 诅咒JavaScript之----ArcGIS JavaScript 点聚合 ClusterLayer
		
对一个之前一直做winForm的 菜鸟来说,突然接触这么神奇的语言,基本上每天都会诅咒一下这门神奇的语言. 最近做了一个小网站,底图用的是天地图的服务,用ArcGIS JavaScript提供的一些G ...
 - ArcGIS Javascript查询数据库并添加到地图上
		
将数据存放到数据库中,动态的调取比较灵活,数据变动后不需要改变图层的属性表. 此处采用的方法是通过jquery查询数据库,并将数据库的结果生产json串返回给js,在js中动态解析json串增加点至地 ...
 - ArcGIS Javascript API 加载高德在线地图扩展
		
利用ArcGIS JavaScript API加载高德在线地图的扩展 /** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_b ...
 - FK JavaScript:ArcGIS JavaScript类库加载不成功而导致的程序异常
		
现象:页面加载时,有时候成功,有时候出错,出错的地方为init.js 加载esri的类库 经过仔细对比,发现出错时dojo加载的类库中,对象的很多属性都为undefined,而加载成功时,该对象的相关 ...
 - arcgis JavaScript 加载 mapbox地图
		
mapbox 地图现在是越来越好看了, 随便试 /** * Created by Administrator on 2018/5/15 0015. */ import * as esriLoader ...
 - Arcgis Javascript API 开发笔记
		
JS API3.4的要求 à(1) IE9或以上版本 否则dijit1.8.3不匹配 1.如何发布ArcgisJavascript API应用 0.准备工作: (1).有web应用: (2).有js ...
 - 如何正确响应ArcGIS JavaScript API中图形的鼠标事件
		
在使用ArcGIS JavaScript API编写程序的时候,程序员往往需要完成这样一个功能:点击地图上的图形,自动进行专题GIS数据查询,当在地图非图形区域上点击时,自动进行底图兴趣点查询. 由于 ...
 - ArcGIS JavaScript + 天地图API之显示混乱
		
异常描述: (1)ArcGIS JavaScript 调用天地图WMTS服务,出现了这种混乱的效果,加载不完整. (2)昨天是相关瓦片的请求,Google浏览器显示的是请求失败.当时怀疑是无线网络的 ...
 
随机推荐
- Linux学习笔记(5)Linux常用命令之文件搜索命令
			
(1)find find命令用于文件搜索,所在路径/bin/find,其语法格式为: find [搜索范围] [匹配条件] 1)-name:根据文件名搜索,如搜索/etc下的init文件 [root@ ...
 - SQLServer 表结构相关查询(快速了解数据库)
			
-- 表结构查询 SELECT 表名 then d.name else '' end, 表说明 then isnull(f.value,'') else '' end, 字段序号 = a.colord ...
 - Android 自定义title 之Action Bar
			
Android 自定义title 之Action Bar 2014-06-29 飞鹰飞龙... 摘自 博客园 阅 10519 转 25 转藏到我的图书馆 微信分享: Action Ba ...
 - Swift3.0语言教程使用编码创建和初始化字符串
			
Swift3.0语言教程使用编码创建和初始化字符串 使用编码创建和初始化字符串 创建和初始化字符串除了可以使用上文中提到的方法外,还可以使用init(coder:)方法,此方法一般不常使用,其语法形式 ...
 - PHP 生成二维码
			
利用PHP QRcode生成二维码: php QRcode 官网 http://phpqrcode.sourceforge.net/ 在官网下载 phpqrcode.php就ok啦: 然后,查看自己的 ...
 - C# 词法分析器(七)总结
			
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 在之前的六篇文章中,我比较详细的介绍了与词法分析器相 ...
 - iOS学习35数据处理之文件读写
			
1. 沙盒机制 1> 沙盒概述 每一个iOS应用程序都会为自己创建一个文件系统目录(文件夹), 这个独立.封闭.安全的空间,叫做沙盒 注:① 每一个应用程序都会拥有一个应用程序沙盒 ② 应用程序 ...
 - mobile web HTML5 app曾经的踩过坑(转)
			
兼容性一直是前端工程师心中永远的痛.手机浏览器,因为基本是webkit(blink)内核当道,很多公司,不用考虑IE系的浏览器,所以感觉兼容性上的问题可能会少一些. 但是手机端,虽然出了很多工具,但是 ...
 - 如何提升 service 等级,不被kill(整合)
			
(1)在应用退到后台后,另起一个只有1像素的页面停留在桌面上,让自己保持前台状态,保护自己不被后台清理工具杀死. (2)用Foreground Service. 参考地址:Android Servic ...
 - [WP8.1UI控件编程]Windows Phone XAML页面的编译
			
1.1.2 XAML页面的编译 Windows Phone的应用程序项目会通过Visual Studio完成XAML页面的编译,在程序运行时会通过直接链接操作加载和解析XAML,将XAML和过程式代码 ...