javascript - Three.js Globe - 让国家/地区可点击

标签 javascript d3.js three.js

我可以使用 Three.js 渲染 3D 地球并为其旋转设置动画,方法是使用以下链接中的教程将世界地图图像纹理添加到球体上。我打算让全局的国家都可以点击。即,每当用户单击任何国家/地区时,该国家/地区的边界应突出显示,弹出窗口应列出其名称。我想我需要使用 d3.js 加载国家/地区的 GeoJSON 并将其添加为 Three.js 中的网格。但我不知道如何通过代码实现这一点。

有人可以帮忙吗?

http://blog.thematicmapping.org/2013/09/creating-webgl-earth-with-threejs.html?m=1

最佳答案

您可以使用 Google 服务来确定点击的是哪个国家/地区:

"http://maps.googleapis.com/maps/api/geocode/json?latlng=" + lat + "," + lon + "&sensor=false";

参见http://jsdo.it/makc/19UWi用于工作示例。但对于国家边界没有帮助。或者,使用 http://makc.github.io/three.js/map2globe/demo.html 中的方法其中每个国家/地区都是单独的对象。

关于javascript - Three.js Globe - 让国家/地区可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36526754/

相关文章:

javascript - 在 d3 的重复方法上获得更好的性能

javascript - 金属属性在THREE.JS中有什么作用?

javascript - 获取任何给定月份的最后一周的第 n 天(javascript)

javascript - Annotator.js 从 json 加载注释

javascript - 如何根据 C3.js/D3.js 图表中的阈值更改线条颜色?

javascript - x 轴和绘图不同步

javascript - ThreeJs animate 在 Angular 2 中丢失上下文

python-3.x - 如何使用 nibabel 修改 mgh/dicom/nifti 文件的方向

javascript - 如何获取具有相同结构的每个div的图像src?

javascript - 如何阻止元素内部链接上的 click()