小编dan*_*ild的帖子

铯如何将多边形或线条"悬垂"到地形表面上

所以,我正在使用铯,我想添加一个多边形或线来表示地形表面上的属性边界.

我的多边形在平面/椭圆体表面上工作正常,但不幸的是,当显示地形图层时,多边形不会自动覆盖表面.

很公平,我实际上没有z/height值 - 所以我使用sampleTerrain.js promise方法根据地形插入高度值.这部分工作正常,我得到我的身高值.但那又怎样?

我尝试用我的高度位置创建一个多边形实体,但无济于事 - 它只是忽略了高度值.当我阅读文档时,我真的可以看到任何对摄取高度值的引用 - 所有"位置"数组都是二维的?

对要考虑的高度值的唯一引用是在PolygonOutlineGeometry中,它具有一个看起来很有前途的属性perPositionHeight.

这基本上就是我想要的 - 我不想设置整个poly的高度,我想要使用每个点的高度值.

这是我不成功的尝试之一:

实体/多边形:

var entity = viewer.entities.add({
    polygon : {
        hierarchy : cartesianPositions, //array of positions with z values
        outline : true,
        outlineColor : Cesium.Color.RED,
        outlineWidth : 9,
        material : Cesium.Color.BLUE.withAlpha(0.0),
   }
});
Run Code Online (Sandbox Code Playgroud)


底线:我只想要一个多边形或折线实体,它可以很好地放置在地形表面上.

编辑:

在接受的答案的注释中结合使用了Orange Polygon示例并结合了sampleTerrain.js,我已经能够模拟将多边形"悬垂"到地形上,并且列出了没有z值的位置,这是一个粗略的例子:

var positions = []; // xy position array    

var cesiumTerrainProvider = new Cesium.CesiumTerrainProvider({
    url : '//assets.agi.com/stk-terrain/world'
}); …
Run Code Online (Sandbox Code Playgroud)

javascript cesium

15
推荐指数
2
解决办法
6913
查看次数

如何在没有插件的情况下启用Google Maps Earth View

我正在评估不需要任何下载/安装的3d globe查看器的选项.作为Cesium.js的替代,我还要看看Google Maps Js API v3.

最近我注意到支持WebGL的浏览器似乎能够在谷歌地图中切换到地球视图 - 没有插件?

这是不是与混淆45°视图,其仍然相当在其覆盖的限制.

以下是使用倾斜控件的Google地图中悉尼的屏幕截图(一旦您选择地球视图,请在右下角看到):

在此输入图像描述

我该如何实现此功能?我似乎无法在任何地方找到它,这是不是在JS API中发布了吗?

即使你尝试使用这个(iframe)的嵌入代码,地球视图也会被卫星取代?

我基本上只是希望用户能够控制音高/航向?

google-earth-plugin google-maps-api-3

9
推荐指数
1
解决办法
6441
查看次数

如何设置默认视图位置(Cesium 1.6)

我想为cesium app设置默认视图/ home位置.

我不只是想飞到这个位置一次; 我希望将位置设置为默认/ home - 以便可以在应用程序的其他位置使用 - 例如在HomeButton Widget中.

我试过这样设置Camera.DEFAULT_VIEW_RECTANGLE (这里文档):

var extent = Cesium.Rectangle.fromDegrees(117.940573,-29.808406,118.313421,-29.468825);

viewer.camera.DEFAULT_VIEW_RECTANGLE = extent;
Run Code Online (Sandbox Code Playgroud)

但它不起作用..

为了完整性,这是我正在初始化应用程序的方式:

var viewer = new Cesium.Viewer('cesiumContainer', {
        terrainProvider : new Cesium.CesiumTerrainProvider({
            url : '//cesiumjs.org/stk-terrain/tilesets/world/tiles'
        }),
        mapProjection : new Cesium.WebMercatorProjection(),
        timeline: false,
        animation: false,
});
Run Code Online (Sandbox Code Playgroud)

有什么建议?如果需要任何进一步的信息,请告诉我.

javascript cesium

8
推荐指数
1
解决办法
5065
查看次数

Google地方自动填充功能与Jquery Mobile无法在移动/触摸设备上运行

标题显示我正在使用JQuery Mobile(1.3.0)构建移动网站,并且正在尝试实施Google Places Autocomplete(API v3)以帮助用户输入位置数据.

自动完成功能在桌面设备上正常运行,但在移动设备上使用时无法正常运行(我仅在iOS 6上进行过测试).

在移动设备上使用时,会显示相关位置的下拉列表,但是当您按下一个而不在地图上加载选择时,它就会消失.

我环顾四周,看到了一些可以看到z-index的解决方案

的.pac容器

作为罪魁祸首(见:http://osdir.com/ml/google-maps-js-api-v3/2012-01/msg00823.html).

我已经实现了这些修复,但无济于事,我不相信z-index是问题,因为我可以看到所选项目确实改变了它:在移动设备上按下时悬停状态/颜色.

如果有人有任何建议,我很满意,需要更多详情让我知道.

jquery-mobile google-places-api

7
推荐指数
2
解决办法
5891
查看次数