问题
等待回复
文章精选
许可中心
资源中心
漏洞批露表
注册
SuperMap技术问答社区
我要提问
智能推荐
相关问题
相关文章
推荐教程
我想做web开发点击查询下三维建筑物名称
9D版的webgl下的点击地标物体,可以弹出气泡
插件开发 弹出三维气泡可以设置成半透明的效果吗
三维点击气泡查看属性
三维场景模型气泡的产生
imobile三维场景气泡
plugin开发,气泡关闭按钮可以用自定义图片吗
加载三维场景后,默认出现一个建筑物
热门标签
iserver
三维
idesktop
webgl
javascript
iclient
三维场景
三维模型
iobjects
倾斜摄影
android
imobile
发布服务
leaflet
net
iobject
二次开发
idesktop9d
许可
supermap
插件
js
java
组件
二维
ios
openlayers
三维gis
组件开发
cesium
所有分类
云GIS
3,420个
桌面GIS
3,520个
组件GIS
2,680个
移动GIS
1,462个
三维GIS
4,476个
WebGIS
589个
其他
1,071个
在发布出来的三维场景里面的建筑物点击出现弹出气泡
我要提问
0
投票
在浏览器中加载出来的三维图,点击建筑物怎样能和案例那样出现一个气泡,为什么我一直没有气泡
三维
气泡
三维gis
9月 7, 2017
分类:
1132次浏览
|
用户:
wupeiyuan115
初出茅庐
(
84
分)
请
登录
或者
注册
后回答这个问题。
1个回答
0
投票
您好,对照下范例,检查您的代码。或者 您发下 我可以帮您看下
9月 8, 2017
用户:
郭宇杰
才疏学浅
(
11
分)
var sceneControl = null;
var scene = null;
var htmlUrl = document.location.host;
var layer3D = null;
var infoPage = "noInfo.htm";
var bubble = null;
//判断网页的打开方式是本地打开还是通过网络打开
//不同的打开方式url赋值不同
if(htmlUrl == "")
{
htmlUrl = "http://localhost:8090";
}
else
{
htmlUrl = "http://" + htmlUrl;
}
function onPageLoad()
{
//初始化三维场景控件
try
{
//初始化三维场景控件实例,参数为包含控件的HTML元素
sceneControl = new SuperMap.Web.UI.Controls.SceneControl($get("ControlDiv"), initCallback, failedCallback);
}
catch(e)
{
//若没有安装插件,则抛出该异常
if (e.name == SuperMap.Web.Realspace.ExceptionName.PlugInNotInstalled)
{
var url = htmlUrl + "/iserver/iClient/for3D/plugin/Setup.exe";
document.write(" <a href='"+url+"'>未检测到 SuperMap iClient3D for Plugin 插件,请单击此处下载并安装插件。 </a>");
return;
}
//若使用非IE浏览器,则抛出该异常
else if (e.name == SuperMap.Web.Realspace.ExceptionName.BrowserNotSupport)
{
document.write(" <p>SuperMap iClient3D for Plugin 目前仅支持 InternetExplorer 浏览器,请更换浏览器后重新尝试加载本页面。 </p>");
return;
}
//抛出其他异常
else
{
alert(e.message);
}
}
}
//控件初始化完成后的回调函数,初始化完成之后才能进行数据加载
function initCallback() {
//获取Realspace控件的场景,控件和场景是一对一的捆绑关系
scene = sceneControl.get_scene("http://192.168.1.131:8090/iserver/services/3D-beijing3D/rest/realspace/scenes");
var isOpen = scene.open("http://192.168.1.131:8090/iserver/services/3D-beijing3D/rest/realspace","BeiJing3D");
var layer3d1 = new SuperMap.Web.Realspace.Layer3D("http://192.168.1.131:8090/iserver/services/3D-beijing3D/rest/realspace","Build@3D_BeiJing","Build",SuperMap.Web.Realspace.Layer3DType.VECTOR);
screenLayer = scene.get_screenLayer3D();
//设置三维图层的可选状态
layer3d1.set_isSelectable (true);
//设置三维图层的可见状态
layer3d1.set_isVisible (true);
layer3d1.updateData();
sceneControl.addEvent("objectSelected",objectSelected);
sceneControl.addEvent("bubbleInitialize",bubbleInitialize);
sceneControl.addEvent("bubbleResize",bubbleResize);
sceneControl.addEvent("bubbleClose",bubbleClose);
//添加屏幕图层文本
try{
var anchorPoint = new SuperMap.Web.Core.Point3D(510791.54,312097.98,36);
var txtPart3D = new SuperMap.Web.Core.TextPart3D("设置气泡任一属性后,需要关闭当前气泡,选择模型对象,弹出新气泡,修改属性生效", anchorPoint);
var textArray = [txtPart3D];
var text3D = new SuperMap.Web.Core.GeoText3D(textArray);
var feature3D = new SuperMap.Web.Core.Feature3D();
feature3D.set_geometry(text3D);
var textStyle = new SuperMap.Web.Core.TextStyle3D();
textStyle.set_foreColor(new SuperMap.Web.Core.Color(255,0,0,255));
textStyle.set_backColor(new SuperMap.Web.Core.Color(0,0,0,255));
textStyle.set_outline(true);
textStyle.set_fontName("微软雅黑");
textStyle.set_fontScale(0.8);
feature3D.set_textStyle3D(textStyle);
scene.get_screenLayer3D().add(feature3D,"Text");
scene.get_screenLayer3D().set_isVisible(true);
}
catch(e){
alert("屏幕图层添加文字失败");
}
}
//控件初始化失败后的回调函数
function failedCallback() {
alert("Realspace initialized failed!");
}
function objectSelected(selected3d){
console.log(selected3d);
var objId = selected3d[0].get_item(0);
var objInLayer3D = selected3d[0].get_layer3D();
var featrue3D = objInLayer3D.findFeature3DByID(objId);
var point3D = null;
if (featrue3D) {
point3D = featrue3D.get_geometry().get_position();
}
var featureName = featrue3D.get_name();
switch(objId){
case 206:
infoPage = "Info_1.htm";
break;
case 156:
infoPage = "Info_3.htm";
break;
case 17:
infoPage = "Info_2.htm";
break;
default:
infoPage = "noInfo.htm";
break;
}
createBubble(point3D);
}
function createBubble(pos){
try{
bubble = new SuperMap.Web.Realspace.Bubble();
bubble.set_pointer(pos);
var textStyle3D = new SuperMap.Web.Core.TextStyle3D();
//设置气泡标题内容
var title = textStyle3D.set_fontName("你好");
if (title != null) {
bubble.set_title(title);
}
bubble.set_titleTextStyle3D(textStyle3D);
bubble.set_frameColor(new SuperMap.Web.Core.Color(255,255,255,255));
bubble.set_height(400);
bubble.set_width(500);
sceneControl.get_bubbles().removeAll();
sceneControl.get_bubbles().add(bubble);
}
catch(e){
alert("创建气泡失败");
}
}
function bubbleInitialize(bubble){
try
{
var frameInfo = document.getElementById("infoWindow");
frameInfo.style.display = "block";
frameInfo.src = infoPage;
frameInfo.frameborder = 0;
frameInfo.style.marginwidth = 0;
frameInfo.style.marginheight = 0;
frameInfo.style.width = bubble.get_clientWidth()+"px";
frameInfo.style.height = bubble.get_clientHeight()+"px";
frameInfo.style.left = bubble.get_clientLeft() + sceneControl.get_controlOffsetX()+"px";
frameInfo.style.top = bubble.get_clientTop() + sceneControl.get_controlOffsetY()+"px";
}
catch(e){
alert("Faile to initialize bubble");
}
}
function bubbleResize(bubble){
try
{
var frameInfo = document.getElementById("infoWindow");
frameInfo.style.display = "block";
frameInfo.src = infoPage;
frameInfo.style.width = bubble.get_clientWidth()+"px";
frameInfo.style.height = bubble.get_clientHeight()+"px";
frameInfo.style.left = bubble.get_clientLeft() + sceneControl.get_controlOffsetX()+"px";
frameInfo.style.top = bubble.get_clientTop() + sceneControl.get_controlOffsetY()+"px";
}
catch(e)
{
alert("Failed to resize bubble");
}
}
//关闭气泡
function bubbleClose(bubble){
try
{
var frameInfo = document.getElementById("infoWindow");
frameInfo.style.display = "none";
var selection3Ds = scene.findSelection3Ds(true);
if (selection3Ds.length > 0) {
for(var i = 0; i <= selection3Ds.length - 1; i++){
selection3Ds[i].removeAll();
}
}
}
catch(e){
alert("Failed to close bubble");
}
}
请
登录
或者
注册
后再添加评论。
...