smellman's Broken Diary

クソみたいなもんです

Mapbox GL JS 2.0からオープンソース・ソフトウェアでなくなり、access tokenが必須になりました

クソが!

というわけで、Mapbox GL JSが2.0よりオープンソース・ソフトウェアではなくなりました。

github.com

Mapbox SDK for iOSで起きたことがJavascriptでも発生したという感じです。

何が変わるの?

mapbox.accessToken にアクセストークン(public access token)を埋め込まないといけなくなります。

以下のようなコードを試してみましょう。

<script>
      mapboxgl.accessToken = undefined
      var map = new mapboxgl.Map({
          container: 'map',
          style: 'https://tile.openstreetmap.jp/styles/osm-bright-ja/style.json',
          center: [140, 35],
          zoom: 8
      })
</script>

このコードを実行すると一瞬だけOpenStreetMap.jpのタイルが見えますが、そのあとアクセストークンが正しくないというエラーを吐いて表示されたものが消えます。

最悪ですね!

ちなみに、accessTokenの値はちゃんとAPIアクセスしているので "pk." という文字で騙すこともできません。

最悪ですね!

結論

Mapbox GL JS 2.0により、Mapboxに依存していないインフラを整えていたところもMapboxに依存するようになります。

例えば国土地理院とか国土地理院とか国土地理院とか!

本当に最悪ですね!