9
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Mapboxで地図を表示してみた

Last updated at Posted at 2021-02-16

1. はじめに

Mapboxでは、地図情報サービスの開発プラットフォームが提供されています。

今回は JavaScriptライブラリ Mapbox GL JS を使用して、
マップをブラウザ画面に表示してみます。

2. 準備

2-1. アカウント 作成

Mapboxを利用するにあたって、
まず 以下リンク先にて アカウントを作成します。

2-2. アクセストークン 取得

Mapbox を使用するには、アクセストークンが必要になります。
以下リンク先の アカウントページにアクセスし、アクセストークンを取得します。

image.png

3. コーディング

簡単なマップ表示のためのコーディングを行っていきます。

3-1. サンプル

東京駅周辺(緯度35.6809591、経度:139.7673068)のマップを表示するHTMLファイル(map.html)を作成します。

map.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>地図表示</title>

    <script src="https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js"></script>
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.css" rel="stylesheet" />

<style>
    html { height: 100% }
    body { height: 100% }
    #map { height: 100%; width: 100%}
</style>
</head>

<body>
<div id='map'></div>

<script>
    mapboxgl.accessToken = '<アクセストークン>';

    var map = new mapboxgl.Map({
        container: 'map',
        style: 'mapbox://styles/mapbox/streets-v11',
        center: [139.7670516, 35.6811673],
        zoom: 15
    });
</script>
 
</body>
</html>

map.htmlをブラウザで表示すると、以下のようになります。

スクリーンショット 2021-02-16 21.03.22.png

3-2. 解説

サンプルコード(map.html)の中身を解説します。

・ JavaScript・CSSファイル 設定

head 要素に、
以下のように Mapboxを使用するための jsファイル・cssファイルを設定します。

    <script src="https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js"></script>
    <link href="https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.css" rel="stylesheet" />

・ style属性 指定

style 要素にて、HTMLのスタイルを指定します。

ここでは、ウィンドウの高さheight100%に設定しています。

また、マップ(id:map)のスタイルを、高さheight
100%
、幅 width100% に設定します。

<style>
html { height: 100% }
body { height: 100% }
#map { height: 100%; width: 100%}
</style>

・ マップ表示

div要素にて、マップ(id:map)をブラウザ画面上に配置します。

<div id="map"></div>

・スクリプト記述

script 要素にて、マップ(id:map)を表示するためのスクリプトを記述します。

<script>
    mapboxgl.accessToken = '<アクセストークン>';

    var map = new mapboxgl.Map({
        container: 'map',
        style: 'mapbox://styles/mapbox/streets-v11',
        center: [139.7670516, 35.6811673],
        zoom: 15
    });
</script>

以下に、スクリプトの中身を解説します。

  • アクセストークン設定

第2項 で取得した アクセストークンを、
変数mapboxgl.accessToken にセット設定します。

mapboxgl.accessToken = '<アクセストークン>';
  • マップ設定

Map オブジェクトを作成し、ページにマップを表示します。

var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/streets-v11',
    center: [139.7670516, 35.6811673],
    zoom: 15
});

オプションで、マップの細かな設定をすることができます。
ここでは containerstylecenterzoom の4項目のオプションを設定しています。

オプション 説明
container Mapbox GL JSがマップをレンダリングするHTML要素、または要素の文字列ID。
style マップのスタイル。
center 最初にマップ表示する地理的中心点。
zoom マップの初期ズームレベル。

container 項目には、*’map’*を設定します。

style 項目には、マップのスタイルとして mapbox://styles/mapbox/streets-v11 を指定します。

mapbox Docs - Mapbox styles
https://docs.mapbox.com/api/maps/styles/#mapbox-styles

スタイルはMapbox Studioで作成することもできます。

Mapbox Studio
https://studio.mapbox.com/

center 項目には、東京駅周辺(緯度35.6809591、経度:139.7673068)のマップを表示するために、
[139.7670516, 35.6811673] を設定します。

zoom 項目には、マップの初期ズームレベルとして 15 を設定します。

4. おわりに

今回は、Mapboxを使用して ブラウザ画面に地図を表示してみました。

利用料金については、月間リクエスト数が50,000までであれば無料であり、
個人で使用する分には ほぼ無料で使用することができるかと思われます。

Mapbox 料金
https://www.mapbox.jp/pricing

参考情報

Mapbox GL _ JS API REFERENCE
https://docs.mapbox.com/mapbox-gl-js/api/

9
15
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
9
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?