Skyline画多边形,标图标,点击弹对话框
发布日期:2021-06-30 17:29:00 浏览次数:2 分类:技术文章

本文共 1560 字,大约阅读时间需要 5 分钟。

在SkyLine里面,画一个多边形,然后点击这个多边形,弹出一个提示框,显示该多边形的相关信息,咋写呢?

这里写图片描述

步骤:

1、在地图上画多边形,数据无非就是一些点,比二维多了一个高度的坐标

2、在该多边形上面标上一个图标,比如一张水滴图标
3、将该多边形绑定定一个消息框

具体上代码:

1、画多边形

var cVerticesArray = [      -122.415025, 37.76059,  10,      -122.415868, 37.760546, 11,      -122.415922, 37.761244, 12,      -122.415592, 37.761254, 13,      -122.415557, 37.760973, 14,      -122.415081, 37.76099,  15,      ];var cRing = sgworld.Creator.GeometryCreator.CreateLinearRingGeometry(cVerticesArray);var cPolygonGeometry = sgworld.Creator.GeometryCreator.CreatePolygonGeometry(cRing, null);var nLineColor = 0xFF00FF00; var nFillColor = 0x7FFF0000; var eAltitudeTypeCode = 3; var pg = sgworld.Creator.CreatePolygon(cPolygonGeometry, nLineColor, nFillColor, eAltitudeTypeCode, groupId, "描述");//var groupId = sgworld.ProjectTree.CreateGroup("分组名称", "父节点,为空则为根节点")

2、在该多边形上标上图标

var pos = pg.Position.Copy();var imageLabelStyle = sgworld.Creator.CreateLabelStyle();imageLabelStyle.PivotAlignment = "Bottom,Center";var iconUrl = "http://localhost/test.web/locate.png";//切记,图片的路径务必为完整的、绝对路径,相对路径不行,可能skyline只是一个activeX控件,比较弱的缘故吧sgworld.Creator.CreateImageLabel(pos, iconUrl, imageLabelStyle, groupId, "icon_1");

3、为多边形绑定一个弹出框

function bindMessage() {
var caption = "标题"; var src = ""; var left = 0; var top = 0; var timeout = -1; var mess = sgworld.Creator.CreatePopupMessage(caption, caption, left, top, 300, 200, timeout); mess.InnerHtml = "
Hello World!
"; mess.ShowCaption = true; return mess.ID;}pg.Message.MessageID = bindMessage();//pg为该多边形,参见代码1

如此,则点击出对话框矣!

转载地址:https://leftfist.blog.csdn.net/article/details/78396345 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:skyline里的group
下一篇:并非万能的XML

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年05月02日 18时13分01秒