这个 3D 可交互的地图 怎么做? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
JasonTsang
V2EX    Javascript

这个 3D 可交互的地图 怎么做?

  •  
  •   JasonTsang 2018-12-15 17:43:57 +08:00 7175 次点击
    这是一个创建于 2561 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想做一个 3D 的地图,可交互的。主要是点击之类的事件

    当鼠标点击某个区域时,某个区域就会慢慢升起。而且区域可变色。

    中国地图

    当鼠标升到广东时,广东这块地区就会。慢慢升起(有一个过程)。。

    当然下图的广东地图应该是在中国地图上,只是广东这块区域升起来了。(暂时没找到样例图 所以大家联想一下吧。)

    广东地图

    17 条回复    2018-12-26 19:46:45 +08:00
    Wnbo
        1
    Wnbo  
       2018-12-15 17:53:36 +08:00
    highcharts ?
    lucahan
        2
    lucahan  
       2018-12-15 18:01:15 +08:00
    echarts,highcharts 应该都可以的
    JasonTsang
        3
    JasonTsang  
    OP
       2018-12-15 18:20:22 +08:00
    @lucahan echarts 试了,里面的确可以做到 图一的效果。但交互无法完成。比如我要不同的区不同的颜色。点击后可以变色,并慢慢升起。echarts 做不到。他可以升起。但没有动画没有过程。
    JasonTsang
        4
    JasonTsang  
    OP
       2018-12-15 18:21:50 +08:00
    @lucahan 而且无法自定义区域。比如我一个广东广州市的。鼠标点击天河区。天河区可以慢慢升起。并变色。可惜的是。并没有 区的细分
    beginor
        5
    beginor  
       2018-12-15 19:18:44 +08:00 via Android
    mapbox 可以轻松实现,GIS 的功能还是应该用 GIS 来解决
    davin
        6
    davin  
       2018-12-15 22:23:11 +08:00 via iPhone
    Echarts 2 里面好像有地图叫下沉式地图?省市区县镇这种,不过需要详尽的对应经纬度好像。
    xyooyx
        7
    xyooyx  
       2018-12-15 23:39:52 +08:00 via iPhone
    webgl 了解下
    rb6221
        8
    rb6221  
       2018-12-16 00:41:56 +08:00
    webgl ……可能有点大材小用了不过
    duan602728596
        9
    duan602728596  
       2018-12-16 00:56:43 +08:00 via iPhone
    基本上是用 webgl 了,而且还需要有个会做模型的人给你做模型
    yuanfnadi
        10
    yuanfnadi  
       2018-12-16 01:05:01 +08:00 via iPhone
    gooin
        11
    gooin  
       2018-12-16 07:12:57 +08:00 via Android
    Cesium 了解一下,每个省就是个 polygon,给个厚度就有图上效果了。鼠标移入到每个 polygon 上修改厚度就 OK 了。动画的话也简单,Cesium 是有时间轴这个概念的,移入之每 xx 毫秒增加高度就行。
    andy12530
        12
    andy12530  
       2018-12-16 09:11:32 +08:00 via iPhone
    mapbox
    1KN6sAqR0a57no6s
        13
    1KN6sAqR0a57no6s  
       2018-12-16 19:00:34 +08:00 via Android   1
    这不就是我们 GIS 专业搬砖人员一天到晚做的事吗...(doge)
    wangxiaotang
        14
    wangxiaotang  
       2018-12-25 00:06:09 +08:00
    请问图一的上升的那一部分是怎么实现的呢?想知道,等待等待
    JasonTsang
        15
    JasonTsang  
    OP
       2018-12-25 20:33:17 +08:00
    @wangxiaotang 我选 了用 WEBGL 去做了一个 3D 的场景。。。发现现在 的所部地图 都是为了显示数据。
    ![地图]( )
    wangxiaotang
        16
    wangxiaotang  
       2018-12-26 09:27:53 +08:00
    @JasonTsang 我是想尽量就用 echarts 解决,就是你图一那种效果,中间有一部分区域上升凸出来,我看你说可以实现,我研究两天了,也没有实现这个。WEBGL 这个没有用过,感觉我没办法在一定的时间内弄出来。
    JasonTsang
        17
    JasonTsang  
    OP
       2018-12-26 19:46:45 +08:00
    @wangxiaotang 已经实现 了。就是要点击某一个区,然后 哪个区 3D 的形式慢慢升起。然后再播放业务动画。WEBGL 可能有点难。我是花了不少时间去完成。或者你可以想想别的方法。呵呵
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2580 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 13:02 PVG 21:02 LAX 05:02 JFK 08:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86