GIS奮闘記

元GISエンジニアの技術紹介ブログ。主にPythonを使用。

スポンサーリンク

Python で 作成した QR コードを読み込んで Googleマップにとんでみる

さて、本日は Python で QR コードを作成してみようと思います。ただ、単純に QR コードを作成してもつまらないので、作成した QR コードで Googleマップにとべるようにしてみようと思います。

使用するライブラリ

qrcode という Python の QR コード画像生成ライブラリを使います。pip でインストールしてください。

pip install qrcode[pil]

pypi.org

QR コードに埋め込む緯度経度

緯度: 35.678601
経度: 139.740286

ここがどこかといいますと永田町駅ですね。

作成する QR コード

GoogleマップへのリンクURLを格納する QR コード を作成します。上記の緯度経度をパラメータにした URL は以下のような形になります。この URL を QR コードに埋め込みます。

https://www.google.com/maps/search/?api=1&query=35.678601,139.740286

手順

今回は以下のような流れで進めてみようと思います。

  1. QRコードの作成(Python)
  2. 作成したQRコードをスマートフォンで読込
  3. Googleマップが指定した緯度経度で起動することを確認

実行環境

Windows10
Python3.6.5

サンプルコード

緯度経度を埋め込んだ QR コード作成のサンプルです。

# coding: utf-8
import qrcode

file_name = r"D:\python\qr.png" # QRコードの作成先

lat = "35.678601"  # 緯度
lon = "139.740286" # 経度

qr = "https://www.google.com/maps/search/?api=1&query=%s" \
         % (lat + "," + lon) # QRコードに埋め込む情報

img = qrcode.make(qr) # 画像作成
img.save(file_name)   # 保存

すごく簡単にできました。

作成したQRコードの画像を開くとこのようになっています。 f:id:sanvarie:20190720110800p:plain

作成したQRコードをスマートフォンで読込むとGoogleマップが出てくるのでタップします。 f:id:sanvarie:20190720111837j:plain

このように指定した緯度経度でGoogleマップを起動することに成功しました。 f:id:sanvarie:20190720111902p:plain

少し拡大させてみました。ピンが置かれている場所は間違いなく永田町ということがわかりますね。 f:id:sanvarie:20190720131025p:plain

ズームとかも指定できるみたいなので、細かい設定などをしたい方はGoogleMapへのリンクURL作成方法を調べた - Qiitaを読んでみてください。

この仕組みを利用すればマップをクリックした箇所をQR コード化してその場所をGoogleマップで確認なんてこともできるかと思います。今度はこれをもう少し発展させたものを作ってみたいですね。