TL;DR
- Interactive Storytelling 㯠Mapbox ãæäŸããã¹ããŒãªãŒãããã®ãã³ãã¬ãŒãã§ããã
- å ¬åŒã® Interactive Storytelling ã®å ¥éèšäºã«äžè¶³ããŠãã Mapbox Studio ã®èª¬æãè£è¶³ããã
- ãã®èšäºã䜿ãã°ãMapbox ã®äºåç¥èãªãã§ãããªæãã®ãã¢ãäœããããã«ãªãã
ã¯ããã«
Mapbox瀟ã¯æšå¹Žæ«ãInteractive Storytelling ãšãããã³ãã¬ãŒããçºè¡šããŸããã
Interactive Storytelling ã䜿ãã°ãMapbox ã®ã«ã¹ã¿ã å°å³ãããŒã¹ãšããã¹ããŒãªãŒããããæ°è»œã«äœãããšãã§ããŸãã
ïŒäŸãã°ãäžå³ã®å
¬åŒãã¢ã®ãããªã¹ããŒãªãŒãããïŒ
ãããŠãã³ãã¬ãŒãã®çºè¡šãšåæã«ãMapbox瀟ã¯æ§ã ãªãã£ãã«ã§åºå ±ãæã¡åºããŸããã
ãã®åºå ±ã®äžã€ã«ã次ã®å ¥éèšäºããããŸãã
ãã®èšäºã¯ãéãšã³ãžãã¢åãã«ãåãããããæžãããŠããŸãã
ãã ãMapbox Studio ã®èª¬æãçç¥ãããŠããããããMapboxã®ãµãŒãã¹ã«æ
£ããŠããªã人ã«ã¯å
¥éãã¥ããå
容ãªã®ã§ã¯ïŒããšç§ã¯æããŸããã
ããã§ä»åãå ¬åŒèšäºã®å 容㫠Mapbox Studio ã®æäœãªã©ãçã蟌ãã§ãäžæ°é貫ããå ¥éãã§ãããã¥ãŒããªã¢ã«ãäœããŸããã
Mapbox Studio ã®åºæ¬çšèª
Mapbox Studio ã¯ãMapboxã§äœ¿ã Style ãšããèæ¯å°å³ãWebäžã§ã€ã³ã¿ã©ã¯ãã£ãã«ãã¶ã€ã³ããããŒã«ã§ãã
Style ã®ã»ããéçºè 㯠Style ã®å ãšãªã Tileset ãš Dataset ãèªç±ã«äœãããšãã§ããŸãã
Style
åäœïŒè€æ°ã®ã¬ã€ã€ãŒã§æ§æããããã«ã¹ã¿ã å¯èœãªMapboxã®èæ¯å°å³ã
è¡æå°å³ãªã©åºæ¬çãªã¬ã€ã€ãŒã§æ§æãããããªã»ãããããã€ãçšæãããŠããŠãã¬ã€ã€ãŒã®è¿œå ã»ç·šéãå¯èœã
Tileset
ã¬ã€ã€ãŒãäœãããšãã§ããããŒã¿ãã©ãŒãããã
Dataset ããäœãããšãã§ããããããŒã¿ããçŽæ¥äœãããšãã§ããã
Dataset
Tileset ãäœãããšãã§ããããŒã¿ãã©ãŒãããã
Mapbox Studio ã®ç®¡çããŒãžãããGUIæäœã§ããŒã¿ã®ç·šéãå¯èœã
Interactive Storytelling ã®å®è£ ã€ã¡ãŒãž
Interactive Storytelling ã§äœããã®ã¯ããã³ãã¬ãŒãã«æ²¿ã£ãã¹ããŒãªãŒãããã§ãã
ã¹ã¯ããŒã«ã€ãã³ãã«åãããŠãMapbox Studio ã§äœã£ãåäžïŒè€æ°ã®ã¬ã€ã€ãŒãåãæ¿ãããããã³ã³ãã³ããäœããŸãã
äŸãã°ãäžèšã®ã¹ããŒãªãŒãããã¯ã次ã®ïŒçš®é¡ã®ã¬ã€ã€ãŒãçµã¿åãããŠããŸãã
- äœçœ®æ å ±ããŒã«ãŒä»ãå°å³ã¬ã€ã€ãŒ
- å¡ãåãå°å³ã¬ã€ã€ãŒïŒ2DïŒ
- å¡ãåãå°å³ã¬ã€ã€ãŒïŒ3DïŒ
åã¬ã€ã€ãŒã®åºãåãã¯ãopacity
ã§å¶åŸ¡ãããŸãã
ä»åã®ãã¥ãŒããªã¢ã«ã§ã¯ããããã®ã¬ã€ã€ãŒã®äœãæ¹ãéç¹çã«è§£èª¬ããŸãã
ãã¥ãŒããªã¢ã«æé
ãã®éå ¬åŒãã¥ãŒããªã¢ã«ã§ã¯ã次ã®æé 㧠Interactive Storytelling ãã³ãã¬ãŒãã®ã¹ããŒãªãŒããããäœããŸãã
- å ¬åŒã®ãã³ãã¬ãŒããçšæ
- Mapbox Studio ã§ã«ã¹ã¿ã å°å³ïŒStyleïŒãäœæ
- äœã£ãã«ã¹ã¿ã å°å³ïŒStyleïŒããã³ãã¬ãŒãã«èŒãã
- ãã³ãã¬ãŒãã«æ²¿ã£ãŠã«ã¹ã¿ã å°å³ïŒStyleïŒãå¶åŸ¡ãã
1. å ¬åŒã®ãã³ãã¬ãŒããçšæ
ãŸããå
¬åŒã®GithubãªããžããªãããŠã³ããŒãããŠããã³ãã¬ãŒããååŸããŸãã
ä»åã¯ãstorytelling/src/vanilla-js
ã®ãã³ãã¬ãŒãã䜿ããŸããèªåã®äœæ¥ãã£ã¬ã¯ããªã«ã³ããŒããŠãããŠãã ããã
ã³ããŒãããã³ãã¬ãŒãã§ã¯ã次ã®äœæ¥ãããŠãã ããã
config.js.template
ãconfig.js
ã«ãªããŒãconfig.js
ã®showMarkers
ãfalse
ã«å€æŽ
ãããã®äœæ¥ã®è©³ãã説æãå¿ èŠãªå Žåã¯ãå ¬åŒã®å ¥éèšäºãåç §ããŠãã ããã
2. Mapbox Studio ã§ã«ã¹ã¿ã å°å³ïŒStyleïŒãäœæ
次ã«ãMapbox Studio 㧠Style ãäœããŸãã
2.1 Tileset ãäœæ
Style ãäœæããããããŸã㯠Tileset ãäœããŸãã
äžè¡šãåèã«ãç¶æ³ã«åãããŠæé ãéžãã§ãã ããã
2.1-A Dataset ããäœæ | 2.1-B Tileset ãçŽæ¥äœæ | |
---|---|---|
ããŒã¿ã®çš®é¡ | CSV, GeoJSON | CSV, GeoJSON, ä»ïŒåèïŒ |
ããŒã¿ãµã€ãº | ãïŒMB | ãïŒGB |
åŸã§ç·šéããã | â | à |
2.1-A Dataset ããäœæ
Mapbox Studio ã®ç®¡çããŒãžã§ææã¡ã®ããŒã¿ãã¢ããããŒãããŸãã
ïŒããŒã¿ã®æã¡åããããªãå Žåã¯ãç§ãçšæããCSVã§è©ŠããŠã¿ãŸãããïŒ
ãNew datasetããæŒããŠãæ¡å ã«åŸã£ãŠã¢ããããŒãããŠãã ããã
ã¢ããããŒããçµäºãããããStart editingããæŒããŠããŒã¿ãç·šéããŠã¿ãŸãããã
ç·šéç»é¢ã§ã¯ãpolygonãã¡ã¿ããŒã¿ã®ç·šéãå¯èœã§ãã
ç·šéæ¹æ³ã®è©³çŽ°ã«ã€ããŠã¯ãå ¬åŒãªãã¡ã¬ã³ã¹ã確èªããŠãã ããã
ç·šéãã§ããããå³äžã®ãExportãã§TilesetãäœæããŠãã ããã
ãããŸã§ã§ãããå®äºã§ãã
2.1-B Tileset ãçŽæ¥äœæ
Datasetãšåæ§ã«ããŸã㯠Mapbox Studio ã®ç®¡çããŒãžã§ææã¡ã®ããŒã¿ãã¢ããããŒãããŸãã
ïŒããŒã¿ã®æã¡åãããç¡ãå Žåã¯ãç§ãçšæããGeoJSONã䜿ã£ãŠãã ããïŒ
ãNew tilesetããæŒããŠãããŒã¿ãã¢ããããŒãããŠãã ããã
ã¢ããããŒããã§ãããå®äºã§ãã
2.2 Style ãäœæ
Style ããMapbox Studio ã®ç®¡çããŒãžããäœæããŸãã
ãNew styleããæŒããŠãé©åœãªãã³ãã¬ãŒããããŒããéžãã§ãã ããã
ç·šéç»é¢ãéãããããLayersã¿ã > ã+ãããŒã¯
ããã¬ã€ã€ãŒãè¿œå ããŸãã
ãããŠãSelect data
ã¿ãã«ãããµã€ãããŒã®Source
ã«ãŠã2.1 ã§äœæãã Tileset ãéžã³ãŸãã
ããã§ãè¿œå ããã¬ã€ã€ãŒãã Tileset ã®ããŒã¿ãèªã¿èŸŒããããã«ãªããŸãã
ç¶ããŠãTileset ã®ããŒã¿ãã¬ã€ã€ãŒã®äžã«æç»ããŸãã
ä»åã¯ã次ã®ïŒã€ã®æç»æ¹æ³ã玹ä»ããŸãã
- äœçœ®æ å ±ããŒã«ãŒ
- å¡ãåãå°å³ïŒ2DïŒ
- å¡ãåãå°å³ïŒ3DïŒ
èªã¿èŸŒãã Tileset ã®ããŒã¿ã«åãããŠãæç»æ¹æ³ãéžã³ãŸãããã
2.2-A äœçœ®æ å ±ããŒã«ãŒä»ãå°å³ã¬ã€ã€ãŒãäœã
æ°èŠã¬ã€ã€ãŒã« Tileset ããŒã¿ãè¿œå ããåŸããŸãSelect data
ã¿ãã«ãããµã€ãããŒã®Type
ãCircle
ã«ãªã£ãŠããããšã確èªããŸãã
å®ã¯ãããã§æ¢ã«åºæ¬èšå®ã¯å®æããŠããŸãã
ããšã¯ãStyle
ã¿ããéžãã§ã奜ããªããã«å±æ§ã調æŽããŠã¿ãŠãã ããã
調æŽãã§ããããå³äžã®ãPublishããã¿ã³ãæŒããŠå®äºã§ãã
2.2-B å¡ãåãå°å³ã¬ã€ã€ãŒïŒ2DïŒãäœã
æ°èŠã¬ã€ã€ãŒã«TilesetããŒã¿ãè¿œå ããåŸãSelect data
ã¿ãã«ãããµã€ãããŒã®Type
ãFill
ã«ãªã£ãŠããããšã確èªããŸãã
次ã«ãå¡ãåãã«äœ¿ãããŒã¿é
ç®ãèšå®ããŸãã
Style
ã¿ãã«ãããµã€ãããŒã®Color
ããStyle across data range
ãéžã³ã䜿ãããé
ç®ãéžãã§ãã ããã
é ç®ãéžãã ããå¡ãåãã®äžé/äžéå€ãšãããããã®è²ãèšå®ããŸãããã
ãããŸã§ã§ããããå³äžã®ãPublishããã¿ã³ãæŒããŠå®äºã§ãã
ä»ã«æ°ã«ãªãå±æ§ãããã°ãé©å®èª¿æŽããŠãã ããã
2.2-C å¡ãåãå°å³ã¬ã€ã€ãŒïŒ3DïŒãäœã
æ°èŠã¬ã€ã€ãŒã« Tileset ããŒã¿ãè¿œå ããåŸãSelect data
ã¿ãã«ãããµã€ãããŒã®Type
ãFill extrusion
ã«å€æŽããŸãã
次ã«ãå¡ãåãã«äœ¿ãããŒã¿é
ç®ãèšå®ããŸãããããã¯äžèšã®ãå¡ãåãå°å³ã¬ã€ã€ãŒïŒ2DïŒãäœãããåç
§ããŠãã ããã
å¡ãåãã®è²èšå®ãåæ§ã§ãã
ããããã§ããããStyle
ã¿ãã«ãããµã€ãããŒã®Height
ã§ã䜿ãããããŒã¿é
ç®ã®éžæããäžé/äžéã®å€ã»è²ãèšå®ããŠãã ããã
ãã®ä»ãæ°ã«ãªãå±æ§ãããã°èª¿æŽããŠãå³äžã®ãPublishããã¿ã³ãæŒãã°äœæ¥å®äºã§ãã
ãã
Style
ã®èª¿æŽã§å°ãåã£ãæ°å€èšç®ããããæ¹ã¯ãå ¬åŒãªãã¡ã¬ã³ã¹ãåç §ããŠãã ããã
3. äœã£ãã«ã¹ã¿ã å°å³ïŒStyleïŒããã³ãã¬ãŒãã«èŒãã
2.2ã§äœã£ã Style ã Interactive Storytelling ãã³ãã¬ãŒãã«èŒããããã«ãäœæ¥ãã£ã¬ã¯ããªã«ããèšå®ãã¡ã€ã« config.js
ãæŽæ°ããŸãã
2.2 ã§äœã£ã Style ã®ç·šéç»é¢ã§å³äžã®ãShareããã¿ã³ãæŒãã次ã®ïŒã€ã®é
ç®ã config.js
å
ã®å¯Ÿå¿ç®æã«ã³ããŒïŒããŒã¹ãããŸãããã
ãã㧠Interactive Storytelling ãã³ãã¬ãŒããã 2.2 ã§äœã£ã Style ãèªã¿èŸŒããããã«ãªããŸããã
4. ãã³ãã¬ãŒãã«æ²¿ã£ãŠã«ã¹ã¿ã å°å³ïŒStyleïŒãå¶åŸ¡ãã
ããŠæåŸã«ããã³ãã¬ãŒããç·šéã㊠Style ãå¶åŸ¡ããã¹ããŒãªãŒããããå®æãããŸãããã
ãšã¯èšã£ãŠããconfig.js
ãå°ãç·šéããã ãã§æäœéã®æ©èœã¯æããŸãã
ã§ã¯ãconfig.js
ã®å
容ã確èªããŠã¿ãŸãããã
var config = { style: 'YOUR_STYLE_URL', accessToken: 'YOUR_ACCESS_TOKEN', ..., chapters: [ { id: 'slug-style-id', title: 'Display Title', image: './path/to/image/source.png', description: '...', location: { center: [-122.418398, 37.759483], zoom: 13.5, pitch: 60, bearing: 0 }, onChapterEnter: [ // { // layer: 'layer-name', // opacity: 1 // } ], onChapterExit: [ // { // layer: 'layer-name', // opacity: 0 // } ] }, ... ] };
config.js
ã§ã¯ã config.chapters
ã®é
åå
ã®æ
å ±ããã¹ããŒãªãŒãããã®ã¹ã¯ããŒã«ã€ãã³ãã®ç¹åŸŽã決ããŸãã
config.chapters
é
åã®ãããããªããžã§ã¯ãããã¹ã¯ããŒã«ã€ãã³ãã§çºç«ããåºéããšã® chapter ã®æ
å ±ãè¡šããŠããŸãã
ãªããžã§ã¯ãå
ã®æ
å ±ã¯ã以äžã®éãã§ãã
id
: chapterã®åºæidtitle
,description
: chapterå ã®ããã¹ãèŠçŽ ïŒã³ã¡ã³ãã¢ãŠãå¯ïŒimage
: chapterå ã®ç»åèŠçŽ ïŒã³ã¡ã³ãã¢ãŠãå¯ïŒlocation
: chapterã§ã®ã«ã¡ã©ã®äœçœ®/è§åºŠæ å ±onChapterEnter
,onChapterExit
: chapterãç»é¢ã«å ¥ã/åºãæã«å¶åŸ¡ãããã¬ã€ã€ãŒæ å ±
ã¡ãªã¿ã« location
㯠helper.html
ã䜿ã£ãŠç°¡åã«ã«ã¡ã©äœçœ®/è§åºŠæ
å ±ãååŸããããšãã§ããŸãã
詳ããã¯ãå
¬åŒã®å
¥éèšäºã確èªããŠãã ããã
ãŸã onChapterEnter
, onChapterExit
ã§ã¯ãèŠãŠã®éããã¬ã€ã€ãŒã® opacity
ãå¶åŸ¡ãããŠããŸãã
layer
ã«ã¯ãå¶åŸ¡ãããã¬ã€ã€ãŒã®ååãã³ããŒïŒããŒã¹ãããŠããŠãã ããã
ãããã® chapter ã®ãªããžã§ã¯ããç·šéã»è¿œå ããŠãããªãã®ã¹ããŒãªãŒããããå®æãããŸãããã
以äžã§ããã¥ãŒããªã¢ã«ã¯çµäºã§ãã
ãããã«
ãã®èšäºã§ã¯ãInteractive Storytelling ããã¥ãŒããªã¢ã«åœ¢åŒã§è§£èª¬ããŸããã
å
容ã¯ãå
¬åŒã®å
¥éèšäºã« Mapbox Studio ãªã©ã®æ
å ±ãå çããŠãäžæ°é貫ããå
¥éãã§ããããã«ãªã£ãŠããŸãã
å
¥éãã§ãããã次㯠Interactive Storytelling ã§äœãäŒããããèããæã§ãã
ã¬ã€ã€ãŒã chapter ã«ã©ããªæ
å ±ãèŒããŠãèªè
ãã©ããªã¹ããŒãªãŒã«å°ããã¯ãããªãã®ã¢ã€ãã¢æ¬¡ç¬¬ã§ãã
ããã€ãã®äºäŸãå ¬åŒããŸãšããŠããã®ã§ãåèã«ããŠã¿ãŠãã ããã
ãŸãã念ã®ãããèšäºå
ã§äŸãšããŠèŒãããã¢ã®ãœãŒã¹ã³ãŒããèŒããŠãããŸãã
äœãå°ã£ãããåç
§ãã ããã