首页 / 浏览问题 / 移动GIS / 问题详情
imobile三维场景气泡
34EXP 2019年11月19日
请问在imobile 10 i里如何在三维场景下实现类似二维CallOut的效果?我用GeoPlacemark标注了一个位置,想在这个位置弹出一个信息窗体显示具体信息,现在使用PopupWindow来做的话会跟着地图移动,达不到效果。

1个回答

您好,GeoPlacemark对象是根据场景的经纬度来显示的,这个肯定是会跟着场景来移动;PopupWindow是根据像素坐标来显示的,是不会跟着移动的。不知道您那边具体是什么需求呢?
9,197EXP 2019年11月19日
具体需求是,将查询结果(坐标数据)用气泡固定在对应的三维对象上显示,类似二维中的CallOut效果,地图移动时固定在对象上,不会随地图移动而移动

GeoPlacemark是根据坐标信息来设置的,符号是会固定在你设置的位置上,跟callout效果是一致的,不知道您那边是怎么操作的?可以参考一下我这边的代码:

GeoPlacemark放置是没问题的,但是GeoPlacemark只能显示文字和图片,并且不能点击操作,能不能在GeoPlacemark上面显示更丰富的内容,或者不用GeoPlacemark能否用其他方式来实现?

您好,您那边具体是想显示什么内容呢,显示的内容您可以建一个view来存储在屏幕上。如果您那边还想点击标注符号,您可以将GeoPlacemark添加到KML图层上面实现点击选中。实现思路:
1.添加一个kml图层,kml文件可以事先在桌面软件中新建。使用方法:scene.getLayers.addLayerWith();
2.将GeoPlacemark添加到kml图层上。
 

Feature3D feature3D = new Feature3D();
feature3D.setGeometry(geoPlacemark);
Feature3Ds feature3Ds = layer3D.getFeatures();
feature3Ds.add(feature3D);
...