2017年7月1日土曜日

LogicFlow で BingMaps の機能を利用する

少し前に追加された BingMaps コネクタのおかげで、Bing Maps で提供されている機能が利用できるようになりました。今まではプログラムから呼び出したり、REST の API を直接呼び出さなければならなかったのですが、これで簡単に利用できるようになります。

BingMaps を利用できるようにするためには、まずアカウントを登録してキー情報を取得する必要があります。ここで少し迷う状態になっていて、Bing Maps には現在 2 種類のキーがあります。一つは開発時にも利用できる Basic Key で、もうひとつは商用で利用する際に必要な Enterprise Key です。Enterprise Key でも開発は利用可能なのですが、利用時に課金が発生するなど違いがありますので注意が必要です。そして、Azure Portal からは Enterprise Key しか取得できないので、Basic Key は別途取得しに行かなくてはなりません。

image

Basic Key は Bing Maps Dev Center にて取得します。Sign In と書かれているところをクリックすると、MS アカウントでのサインインを求められます。

image

サインインするとこのような表示になるので、上メニューの My Account → My Keys と選択してクリック。新規に作成する場合は、Click here to create a new key のほうの here をクリックします。

image

Key が生成されるとこのような形で表示されるので、これをどこかに控えておきます。この情報が BingMaps コネクタを利用する際に必要です。

image

現在 LogicFlow で提供されている機能は、「住所から情報を取得」「GPS座標から情報を取得」「ルート検索」「地図情報を取得」の 4 種類です。

image

アクションを選択すると、初回はこのように Key 情報を求められますので、控えておいた Key を設定します。接続名はいつも通り、LogicFlow 上での識別にしか利用されませんので、好きに着けて構いません。

Get Location By Address アクション

image

条件として、国・郵便番号・州(日本だと都道府県)・市・住所、を指定して検索できるようになっています。必須項目ではないので、自由に項目を組み合わせた検索が可能です。

image

試しに、札幌 大通公園 で検索してみた結果は次のようになっています。緯度、経度、そしてそれを結合したものが値として返却されているので、後続処理で何かする際にも便利です。

image

試しに結果から BingMaps で検索してみたところ、まぁまぁ近い場所だったことがわかります。多分これは検索時のキーワードと、BingMaps 自体の情報量に依存するとは思うので、キーワードによってはもっとよい結果になるのではないかと思われます。

Get Location By Point アクション

image

こちらは GPS などか取得できる緯度・経度を元に検索を行うものです。そのため緯度経度は必須項目となっています。

image

こちらも試しに実施してみると、このような形で結果が返ってきました。気になるのは、条件で指定した位置情報とは微妙にずれた情報が戻ってきているところで、挙動的には指定した座標に近いどこかを結果として返却しているのかな、と思ったのですが・・・

image

BingMaps で見てみるとよくわからない場所が戻されていました。試しに利用した座標は、大通公園の中だったのですが、3丁ほど南にずれた場所となっています。特にここに何かあるわけでもないので、まったくもって理由は謎です。

Get Route アクション

image

ある地点の位置情報と、別の地点の位置情報を指定して経路情報を取得するもの、と思われるのですが、今の時点でも一度も成功したことがありません・・・

image

何度か試してはいるのですが、上記のようにコネクタから Internal Server Error が戻されてきている状態が続いています。機能としては使い出が多いと予想されるところなので、早く使えるようになるのを期待したいですね。

image

ルート検索自体は、既に BingMaps で利用できているので、LogicFlow のコネクタ側の問題なのかどうか、というところかと思います。

Get Static Map アクション

image

指定した位置情報を中心とした、地図画像を取得するものです。位置情報と地図の種類、拡大率(0~21まで)が必須項目となっており、他には画像の種類や、生成する地図のサイズ、地図に付与するピン情報が指定できます。

image

生成された画像情報は、このように BASE64 エンコードされて返却されてきます。結果を確認したい場合は、ブラウザのアドレスバーに

data:image/jpeg;base64,(返却された結果)

とダイレクトに打ち込むことで確認が可能です(jpeg、のところは画像のフォーマットを指定)

image

このような感じで、生成された地図画像を確認できます。特に拡大率で指定する値については、何度か試してみないと自分が求める大きさというのがわかりませんので、このやり方を覚えておくと便利です。

詳しいパラメータの値については、REST API について探してみると記載が見つかりますので、そちらも参考にするとよいと思います。

0 件のコメント:

コメントを投稿