InfoWindow 和 InfoSymbol 的显示

2023-05-16

既可以为图层设置InfoWindow或InfoSymbol,也可以单独的设置每个要素Feature或Graphic。当设置为整个图层时,是应用到整个FeatureLayer或GraphicLayer中的所有要素。一下代码都有体现

整理,InfoWindow的显示方式

1、在布局文件中进行设置,又可分为两种方式;

第一种,在单独的graphic中,独立设置Symbol和InfoWindow

	<esri:GraphicsLayer>
			<esri:Graphic symbol="{balloonSymbol}">
				<esri:geometry>
					<esri:MapPoint x="-5009000" y="-5621000"/>
				</esri:geometry>
				<esri:attributes>
					<fx:Object>
						<fx:head>Marker 1</fx:head>
						<fx:lat>S 45</fx:lat>
						<fx:lon>W 45</fx:lon>
					</fx:Object>
				</esri:attributes>
				<esri:infoWindowRenderer>
					<fx:Component>
						<samples:BalloonTextArea/> <!-- 这里的BalloonTextArea实现了IGraphicRenderer接口-->
					</fx:Component>
				</esri:infoWindowRenderer>
			</esri:Graphic>
			

		</esri:GraphicsLayer>
参考  http://resources.arcgis.com/en/help/flex-api/samples/index.html#/Custom_Pop_Up_window/01nq00000083000000/

第二种,直接在布局文件中定义

直接在FeatureLayer图层中,在图层层次上设置InfoSymbol和InfoWindow

        <esri:FeatureLayer id="fLayer"
                           mode="onDemand"
                           outFields="[PARCELID,OWNERNME1,SITEADDRESS,LNDVALUE,USECD]"
                           url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer/2">
            <esri:symbol>
                <esri:SimpleFillSymbol id="fillsym" style="null">
                    <esri:SimpleLineSymbol width="3" color="0xFF0000"/>
                </esri:SimpleFillSymbol>
            </esri:symbol>
            <esri:infoWindowRenderer>
                <fx:Component>
                    <mx:VBox backgroundColor="0xffffff"
                             color="0x444444"
                             label="Parcel {data.PARCELID}">
                        <mx:Label text="Owner: {data.OWNERNME1}"/>
                        <mx:Label text="Address: {data.SITEADDRESS}"/>
                        <mx:Label text="Land Value: {data.LNDVALUE}"/>
                        <mx:Label text="Landuse: {data.USECD}"/>
                    </mx:VBox>
                </fx:Component>
            </esri:infoWindowRenderer>
        </esri:FeatureLayer>

参考 http://resources.arcgis.com/en/help/flex-api/samples/index.html#/InfoWindow_on_Click/01nq00000031000000/


2、在AS代码中实现,通过Map控件的infowindow控件

            protected function fLayer_graphicAddHandler(event:GraphicEvent):void
            {
                event.graphic.addEventListener(MouseEvent.MOUSE_OVER, onMouseOverHandler);
                event.graphic.addEventListener(MouseEvent.MOUSE_OUT, onMouseOutHandler);
            }

            private function onMouseOverHandler(event:MouseEvent):void
            {
                var gr:Graphic = Graphic(event.target);
                gr.symbol = mouseOverSymbol;
                myTextArea.textFlow = TextFlowUtil.importFromString("<span fontWeight='bold'>2000 Population: </span>" + gr.attributes.POP2000.toString() + "<br/>"
                                                                    + "<span fontWeight='bold'>2000 Population per Sq. Mi.: </span>" + gr.attributes.POP00_SQMI.toString() + "<br/>"
                                                                    + "<span fontWeight='bold'>2007 Population: </span>" + gr.attributes.POP2007 + "<br/>"
                                                                    + "<span fontWeight='bold'>2007 Population per Sq. Mi.: </span>" + gr.attributes.POP07_SQMI);
                myMap.infoWindow.label = gr.attributes.NAME;
                myMap.infoWindow.closeButtonVisible = false;
                myMap.infoWindow.show(myMap.toMapFromStage(event.stageX, event.stageY));
            }

参考 http://resources.arcgis.com/en/help/flex-api/samples/index.html#/InfoWindow_on_MouseOver/01nq0000001q000000/

整理,InfoSymbol的显示

1、使用 infoRenderer 扩展InfoSymbol

    <fx:Declarations>
        <esri:InfoSymbol id="infoSymbol1">
            <esri:infoRenderer>
                <fx:Component>
                    <s:DataRenderer>
                        <s:layout>
                            <s:VerticalLayout/>
                        </s:layout>
                        <mx:Image source="{data.myImageURL}"/>
                        <s:Label text="{data.myTitle}"/>
                    </s:DataRenderer>
                </fx:Component>
            </esri:infoRenderer>
        </esri:InfoSymbol>
    </fx:Declarations>
然后设置图层层次的InfoSymbol,注意如何为attributes赋值,这里的Attribute主要是传递到InfoSymbol中的data变量

 <esri:GraphicsLayer symbol="{infoSymbol1}">
            <esri:Graphic>
                <esri:geometry>
                    <esri:MapPoint x="11945000" y="6074000"/>
                </esri:geometry>
                <esri:attributes>
                    <fx:Object>
                        <fx:myImageURL>assets/mongolia.jpg</fx:myImageURL>
                        <fx:myTitle>Mongolia</fx:myTitle>
                    </fx:Object>
                </esri:attributes>
            </esri:Graphic>
            <esri:Graphic>
                <esri:geometry>
                    <esri:MapPoint x="-7359000" y="2092000"/>
                </esri:geometry>
                <esri:attributes>
                    <fx:Object>
                        <fx:myImageURL>assets/sanjuan_pr.jpg</fx:myImageURL>
                        <fx:myTitle>Puerto Rico</fx:myTitle>
                    </fx:Object>
                </esri:attributes>
            </esri:Graphic>
        </esri:GraphicsLayer>
 2、单独为graphic设置InfoSymbol,并设置样式

            <esri:Graphic>
                <esri:geometry>
                    <esri:MapPoint x="3476384" y="3511014"/>
                </esri:geometry>
                <esri:symbol>
                    <esri:InfoSymbol containerStyleName="africaStyle">
                        <esri:infoRenderer>
                            <fx:Component>
                                <s:Button label="Cairo"/>
                            </fx:Component>
                        </esri:infoRenderer>
                    </esri:InfoSymbol>
                </esri:symbol>
            </esri:Graphic>
            <esri:Graphic>

    <fx:Style>
        .africaStyle
        {
            borderThickness: 1;
            infoPlacement: upperRight;
            borderColor: #FFFFFF;
            backgroundColor: #FF0000;
            paddingLeft: 5;
            paddingRight: 5;
            paddingTop: 5;
            paddingBottom: 5;
        }
        .southamericaStyle
        {
            infoPlacement: upperLeft;
            borderThickness: 3;
            borderColor: #FFFFFF;
            backgroundColor: #00FF00;
            paddingLeft: 2;
            paddingRight: 2;
            paddingTop: 2;
            paddingBottom: 2;
        }
    </fx:Style>

3、设置复杂的Infosymbol

        <esri:FeatureLayer mode="onDemand"
                           outFields="[CITY_NAME]"
                           url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/0"
                           useAMF="false">
            <esri:symbol>
                <esri:CompositeSymbol>
                    <esri:SimpleMarkerSymbol color="0x000000"
                                             size="14"
                                             style="circle"/>
                    <esri:TextSymbol background="true"
                                     backgroundColor="0xFFFFFF"
                                     border="true"
                                     borderColor="0x000000"
                                     color="0x000000"
                                     placement="start"
                                     textAttribute="CITY_NAME"
                                     yoffset="10">
                        <flash:TextFormat bold="true" size="16"/>
                    </esri:TextSymbol>
                    <esri:SimpleMarkerSymbol color="0xFFFFFF"
                                             size="10"
                                             style="circle"/>
                </esri:CompositeSymbol>
            </esri:symbol>
        </esri:FeatureLayer>



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

InfoWindow 和 InfoSymbol 的显示 的相关文章

  • 百度地图点聚合中marker的infowindow消失的问题

    目前的业务场景是 地图中有多个点的点聚合 聚合点展开后 每个marker有自己的点击事件 点击时显示窗口信息 做法是marker openInfoWindow infowin 问题来了 每次点击时地图会自动将窗口平移到地图中心 这时窗口就消
  • 更改谷歌地图 api v2 中标记的 InfoWindow 视图的边距颜色

    你好 我尝试将默认颜色 白色 更改为黑色 这是在谷歌地图 API v2 中 有人知道我该怎么做吗 PD 是信息窗口的边距 这是我的代码 我在其中更改信息窗口的内容 但需要更改边距 S GoogleMap map map setInfoWin
  • Google 地图 Android API v2 - 交互式信息窗口(就像原始 Android 谷歌地图一样)

    我正在尝试定制InfoWindow使用新的 Google Maps API v2 单击标记后 我希望它看起来像谷歌原始地图应用程序中的那样 像这样 当我有ImageButton在里面 它不起作用 整个InfoWindow被选中 而不仅仅是I
  • Google Maps API InfoWindow 不显示内容

    我的代码如下所示 var map some google map defined earlier in the code var geocoder new google maps Geocoder var address Some Addr
  • 更改 Google 地图信息窗口中的背景颜色

    我希望 Google 地图实现中的 InfoWindows 具有黑色背景颜色 InfoWindows 没有 backgroundColor 选项 See here 我在内容选项中放置了一个黑色背景和白色文本的 div 标签 然而 它仍然呈现
  • 在打开另一个信息窗口之前关闭信息窗口

    我的信息窗口有问题 我有一个通过 JSON 检索数据的 ajax 函数 但是当您打开另一个时 我无法自动关闭 InfoWindow 我的代码是这样的 var mapOptions center new google maps LatLng
  • 选择另一个 KML 图层时信息窗口保持活动状态的问题 - Google Maps API V3

    我使用勾选框将多个 kml 图层加载到我的 Google Map API V3 中 选择两个或多个图层时 单击其他图层上的标记时 一层上的信息窗口不会自动折叠 我希望信息窗口能够自动关闭 即使它们位于不同的 KML 图层上 任何指向正确方向
  • 为 Android 标记信息窗口添加图像

    我正在制作一个 Android 应用程序 在此应用程序中 有一些酒店的标记 当用户单击标记信息窗口时会出现 它应该如下图所示 这是一个网络应用程序 我的导航抽屉片段中有一个列表视图 地图片段有标记 这是我尝试加载信息窗口图像之前的代码Mai
  • Google Fusion 地图信息窗口未格式化

    我创建了一个包含 2 层的 Google Fusion Map 除 1 个例外外 一切似乎都正常工作 我已经使用 Google Fusion Table 工具格式化了两个图层的信息窗口 但是 第 1 层上的信息窗口并未按照以下代码的指定显示
  • Google Maps API 带有 Infowindows 的多个标记

    我正在尝试添加多个标记 每个标记都有自己的信息窗口 单击时会出现该信息窗口 我在获取信息窗口时遇到问题 当我尝试时 要么只显示一个标记 而没有信息窗口 谢谢 如果您需要更多信息 请告诉我
  • 为什么毕加索图像未在自定义信息窗口中加载?

    我正在尝试以编程方式布局自定义信息窗口 我想使用 Picasso 加载街景预览图像 但图像没有显示 知道为什么吗 private View prepareInfoView Marker marker prepare InfoView pro
  • Maps V2 InfoWindow 中的动态内容

    我想在 Maps V2 片段中的标记上显示信息窗口 问题是 我想显示从网络动态加载的位图通用图像下载器 https github com nostra13 Android Universal Image Loader 这是我的 InfoWi
  • iOS:动态标记信息窗口

    我正在尝试将图像动态加载到信息窗口中 问题是 SDWebImage 永远不会完成 但是 一旦我再次单击标记 图像就会显示并被调用 但从未在第一次调用 我的 运行 日志第一次显示 所以我知道代码正在被调用 但第一次运行时永远不会显示完整 除非
  • 未捕获 Google 地图信息窗口中的点击事件

    使用 Google Map v2 我希望能够在单击 GMarker 信息窗口中的文本时触发功能 foo click myFunction marker openInfoWindowHtml span class myText span 不起
  • 谷歌地图v3更改信息窗口的大小

    我想设置信息窗口的大小以适合其中的内容 标准信息窗口太宽我尝试使用 maxWidth 但它似乎不起作用 调整信息窗口大小的最佳方法是什么 参见代码 window setContent inspStates i name br total i
  • 当我单击单个标记时,React Google Map InfoWindow 显示所有信息

    由于某种原因 当我单击单个标记时 所有信息窗口都会显示 我希望当我单击一个标记时会出现一个信息窗口 有人可以解释为什么所有标记中的所有信息窗口都会显示吗 因此 当我关闭它时 InfoWindow 也会关闭 当我单击目标标记时 预期行为是 I
  • 街景进入信息窗口[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在信息窗口中显示街景视图 但我
  • 如何删除默认标记?

    我正在使用 Google Map API V3 我注意到这里有很多标记 尽管我不需要它们 例如 一些学校或其他地方 点击时会出现InfoWindows 有什么办法可以删除它们还是不可能 地图上唯一应该显示的标记是您自己添加的标记 愿意分享您
  • 在 Google Map API V3 中隐藏信息窗口上的阴影

    我想隐藏 Google Map API V3 中 infowindow 上的阴影 我尝试访问 Floatshadow 窗格 但我不知道该怎么做
  • 在地图外部的 div 中加载 Fusion Tables InfoWindow 数据

    我希望有人可以帮助解决一个可能相当简单的查询 我在这里看到了一个有关尝试在不单击鼠标的情况下执行此操作的问题 但我想向 Fusion Table 地图上的标记添加一个事件侦听器 该事件侦听器将在地图下方的单独 div 中加载 infoWin

随机推荐

  • 波粒二象性仿真理论(一) Wave Particle Duality Principle

    Wave Particle Duality Principle October 22 2020 by Electrical4U With the development of Photoelectric effect Crompton s
  • 什么是光电效应?What Are Photo Electrons?

    Photo Electrons October 26 2020 by Electrical4U When light strikes a clean material s surface electrons are emitted from
  • Matlab 的动态曲线绘图

    Line Animations 动态曲线的绘制 This example shows how to create an animation of two growing lines The animatedline function hel
  • MATLAB如何在同一窗口中显示两幅图片

    该例子来源于matlab官网 This is an example of how to display multiple images in a subplot in MATLAB 有关同一图像窗口显示多幅图片的例子 Read about
  • Ubuntu18.04 下载与安装(阿里云官方镜像站)

    Ubuntu18 04 下载与安装 ubuntu18 04出来了 xff0c 抱着试一试的心态 xff0c 尝试着启用vmbox虚拟化工具安装了ubuntu系统 xff0c 接下来的时间就要好好学习使用ubuntu下的开发环境了 登录阿里云
  • Linux——虚拟机克隆、虚拟机快照、虚拟机迁移和删除、安装vmtools、设置共享文件夹

    目录 一 虚拟机克隆二 虚拟机快照三 虚拟机迁移和删除四 安装vmtools五 设置共享文件夹 一 虚拟机克隆 虚拟机克隆有两种方式 xff1a 直接拷贝一份安装好的虚拟机文件 直接拷贝安装好的虚拟机文件至所需位置即可使用vmware的克隆
  • Linux下搭建YApi运行环境-强大的可视化接口管理平台

    文章目录 前言1 什么是YApi xff1f 2 部署YApi环境前的准备工作2 1 Node js环境配置2 2 MongoDB环境配置2 2 1 为admin库添加root用户2 2 2 添加yapi专用数据库 3 安装YApi环境3
  • linux下git的使用

    文章目录 git的使用1 初始化一个Git仓库 xff0c 使用git init命令 2 暂存区stage是Git非常重要的概念 xff0c Git跟踪并管理的是修改 xff0c 而非文件 3 要关联一个远程库 xff0c 使用命令git
  • OpenOffice API 开发(一) sdk环境搭建

    由于工作需要 xff0c 公司要摆脱windows office xff0c 没办法 xff0c 看上了openoffice xff0c 打算定制化公司自己的office 很不幸的被抽调搞OpenOffice开发 苦于网络上有关OpenOf
  • 老母鸡&玩客云刷inux-20.11跑容器业务 杠杠的

    网心小盒子收益越来越少了 xff0c 今天突发奇想 xff0c 我能不能把网心小盒子刷成linux系统安装Docker那 说干就干 xff0c 经过一下午的倒腾终于安装完成linux中间出现的问题进行汇总 xff0c 希望可以帮助需要帮助的
  • win10在命令行中输入conda,提示conda不是内部或外部的解决办法

    遇到这个问题一般是环境变量没有配置好 首先要下载好Anaconda 右击我的电脑 xff0c 点击属性 xff0c 点击高级系统设置 点击下方环境变量 xff0c 进入环境变量页面 双击系统变量中的Path xff0c 进入添加 删除环境变
  • go语言开发时,orm和sql应该怎么选呢

    在开发Web应用程序时 xff0c 选择合适的数据库访问方式非常重要 通常来说 xff0c 使用ORM xff08 对象关系映射 xff09 框架可以简化数据持久化操作 xff0c 提高开发效率 而直接使用SQL语句则可以更精细地控制数据访
  • 如何让apache支持多种编码,gb2312和utf-8

    转自 http hi baidu com xxjyz blog item e9b6c50212cc2281d43f7cbb html 2009 09 06 11 00 最近给服务器搞的头疼 xff0c 一遇到问题就要很长时间才能解决 xff
  • Git常用命令

    1 Git全局设置 当安装Git后首先要做的事情是设置用户名称和email地址 这是非常重要的 xff0c 因为每次Git提交都会使用该用户信息 在Git 命令行中执行下面命令 xff1a 设置用户信息 git config global
  • Linux上Qt程序闪退的BUG

    问题现象 输出信息 xcb Unknown request in queue while dequeuing xcb Most likely this is a multi threaded client and XInitThreads
  • ubuntu 远程到 windows

    ubuntu 远程到 windows 记录一些Ubuntu 远程windows 的工具 参考 xff1a https blog csdn net weixin 43982238 article details 93785989https z
  • linux 远程 RDP和 VNC 怎么选

    linux 远程桌面服务主要两种 RDP Remote Desktop Protocol 推荐 VNC Virtual Network Console 比较项XRDPVNCBIOS屏幕显示能不能全彩支持能能更改分辨率能多显示器只有一个屏幕多
  • 动态链接库(三)--动态链接库的使用

    写在前面 本文示例基于上章的Dll1项目生成的动态链接库学习简单使用 所需文件 xff1a 因为上节的示例没有添加Dll1 h头文件 xff0c 因此这里只需Dll1 dll xff0c Dll1 lib 在本文中会添加Dll1 h头文件以
  • Dapper MySql DateTime 异常

    实体类 字段类型 DateTime xff0c Mysql数据库中字段类型 datetime NULL 使用dapper扩展读取 xff0c 报异常 xff1a Error Parse column Object 原因 xff1a Mysq
  • InfoWindow 和 InfoSymbol 的显示

    既可以为图层设置InfoWindow或InfoSymbol xff0c 也可以单独的设置每个要素Feature或Graphic 当设置为整个图层时 xff0c 是应用到整个FeatureLayer或GraphicLayer中的所有要素 一下