LoginSignup
4
3

More than 3 years have passed since last update.

GraphCMS & React & mapbox, Here, Leaflet, Google Map

Last updated at Posted at 2019-12-24

React #2 Advent Calendar 2019 25日目の記事です。
普段は、ElixirばかりQiitaにあげていますが、ReactでGraphCMSを利用した地図アプリを作る為のチート用のサンプルコードを作ったので、せっかくなのでエントリーさせて頂きました。

2020年には、総務省が主催するG空間エンジニア育成プログラムが2月の1週目から4週目にかけて、各4箇所で開催されるものもあり、地図を扱うサービスやシステムを構築する場面があると思うので、ぜひ紹介するサンプルコードが役立てば幸いです。

スクリーンショット 2019-12-25 11.20.46.png
https://ghp.connpass.com/

多方面で注目を集める高需要スキル 「G空間技術」 をイチから学び、エンジニアの方ももそうでない方も、地域課題の解決や新規ビジネス創出に活かせる力を手にいれる2日間の集中プログラムです。 プログラムの詳細は、各地のイベントページをチェック!
※Geospatial Hackers Programは、総務省が主催するG空間人材の育成事業です。

僕が今年のAdvent Calendar書いたものもリンクを載せておくので、良ければみて下さい。

Advent Calendar fukuoka.ex 1日目
https://qiita.com/advent-calendar/2019/fukuokaex
GraphCMS から Absinthe を利用して作る Elixir で体験的に GraphQLSever を作る「ポエム」

Advent Calendar NervesJP 6日目
https://qiita.com/advent-calendar/2019/nervesjp
Nerves と GraphQLsever の組み合わせを考える「ポエム」

Advent Calendar Elixir 24日目
https://qiita.com/advent-calendar/2019/elixir
GraphCMS から入り、Absintheを利用して作って動かす「チュートリアル」

環境構築

自分の環境を調べる

  • コンソールを立ち上げる
    • コマンドプロンプト (windows)
    • ターミナル (macOS)

コンソールを立ち上げたら確認する

node --version

次のv12.13.1ようにバージョン番号が表示されていたらインストールされています。

NodeJSのインストール

LTS版と最新版があります。 LTS版をインストール

インストールの確認

コンソールを再起動します。

node --version

次のv12.13.1ようにバージョン番号が表示されていたらインストール完了です。

npm --version

次のv6.12.1ようにバージョン番号が表示されていたら成功です。

Yarn install

Windowsの場合は、yarn のインストーラーをダウンロードできるボタンが表示されるので
それをダウンロードしてインストールして下さい。

Sample Code Download

git clone https://github.com/Yoosuke/grahcms_maps.git && cd grahcms_maps/react-apollo-blog 

GraphCMS 準備

  1. アカウントを作成する

1.png

GraphCMS SetUp

  1. Projectの作成
    2.png

  2. From Scrachを選択する
    3.png

  3. Asia Eastを選択する

5.png

4. Personal を選択する
6.png

  1. Modelを作成する

7.png

8.png

9.png

6. Schemaの作成

10.png

11.png

12.png

13.png

14.png

7, Enum の作成

16.png

17.png

18.png

  1. Postのスキーマを作成する。 基本的には、6の要領で作成するが、2つ特殊ケースがあるのでその方法を紹介します。

slugのフィールドはAdbancedをクリックして、以下2つを有効にする

19.png

developのフィールドはCheckBoxを選択し、先ほど作ったEnumを選択する

20.png

以下、フィールドを追加する要領で以下のようなSchemaを設計する
Post.png

  1. サンプルデータを入力する

21.png

Post_back.png
Post_back_map.png

入力を終えたら、DraftをPABLISHEDに変更して SAVEします。

  1. 公開準備する

22.png

  1. Endpointをコピーしてdotenvファイルに書き込む

23.png

.env.sampleに書きこむ

.env.sampleファイルは、最初にダウンロードしたgrahcms_maps/react-apollo-blogのフォルダの中に入っています。

24.png

.env.sample -> .envに rename する

MapboxやHereのAPIを取得する

25.png

.envにAPI KEYを書きこむ

コンソールからYarnをインストールして起動する

このフォルダにいることを確認してgrahcms_maps/react-apollo-blog以下のコマンドを打って下さい。

yarn && yarn strart

ブラウザの localhost:3000 に無事に画像が表示されていたら成功です。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3