ラベル updateMask の投稿を表示しています。 すべての投稿を表示
ラベル updateMask の投稿を表示しています。 すべての投稿を表示

2020年3月18日水曜日

Publish API を使ってマルチレベルツアーを作成

異なる階層の写真を複数重ねると、それらの間を垂直に移動することが可能になります。PCのGoogleマップでは画面右側コンパスの上に表示されます。Androidのマップでは画面左下に表示されます。ストリートビュー・アプリには表示されません。
立岩展望台2F の写真です。RFをクリックすると屋上に移動します。

従来、これはサードパーティツールを使用しないと実現出来ないと言われていましたが、Publish APIを使用すれば可能です。API Explorerを使用すればAPIキーは不要で、フォームにパラメータを記入するだけです。使用するのはMethod: photo.updateです。

事前準備として、約5m範囲内に重ねる写真を配置してください。SVAのマップで建物表記の枠内に配置しないと実現出来ないみたいです。写真は各階層に1枚あれば充分で、写真間の結合は不要です。次に各写真のphotoIdを調べてください。

updateMaskは"pose.level"、Request bodyには青い+マークをクリックしながら、下記の様な記入を行います。表示されるリストから選びながら、実際のキー入力はRFと2だけです。"number"は0が地上階で、上層階がプラス、地下はマイナスです。整数以外でも構いません。"name"は3文字以内で、画面に表示されるラベルです。記入が終わったらEXECUTEをクリックします。OAuthのアカウント確認後に実行されます。必要な階層分実施します。実行してもすぐには表示されませんので、数日お待ちください。


2020年2月29日土曜日

Method: photos.batchUpdateを使ってまとめてアップデート

Method: photos.batchUpdateを使うとまとめてアップデート可能です。photo.updateを続けて複数書くような感じです。途中までやってみたら、下記の様に青い+マークをクリックしながら記入して行けば良いみたいです。一度に出来るのは20枚(?)までとの事。SVAで、すべて選択の時も20枚までにしなきゃダメなのかも。

アップデートするものが無いので、さわりだけです。
batchUpdate

Method: photo.updateを使ってplace変更

Method: photo.updateを使ってplaceを変更してみました。photoId, placeId, 場所名が必要です。updateMaskはplaces, Request bodyにはplaceId、名前、言語コードを記入します。下記の様に入力後、EXECUTEです。
updateで場所(リスティング)の変更
以前に二か所に登録された時期が有りましたが、そのまま残しておいた写真のデータをgetしてみると、下記の様になってました。"places"と複数形になっているので、本来は複数個所登録出来る仕様なのかも知れません。同様に入力したら今も二重登録可能かも。
場所が二重に登録された例

Method: photo.updateを使って結合(connections)

Method: photo.updateを使って結合(connections)してみました。シンプルに2枚の写真を互いに結合してみます。必要なのは各々のphotoIdで、updateMaskにはconnectionsを指定します。事前に結合した写真のデータを参考のためにgetしておくと分かり易いです。Request bodyのblue "add" circleをクリックして行き、idは結合相手のphotoIdを記入します。EXECUTEしたら、もう1枚の写真も同様に処理します。終わったら、Method: photos.listで確認すると結合されていることが分かります。但し、マップ上に反映されるまで時間が掛かります。あれ、これを書きながらマップを確認して見たらもう接続されてました。SVA使うよりも早いのかな、単にサーバーが暇だっただけかも。

Request bodyは下記の様な内容だけ書けばOK!
実際にやってみる方が簡単です。 Try this API
多分Method: photos.batchUpdateを使えば一度に出来るのかも。


{
  "connections": [
     {
        "target": {
          "id": "CAoSLEFGMVFpcE・・中略・・WHd1cVJRUjBk"
        }
      }
  ]
}

2020年2月27日木曜日

Method: photo.update を使ってみる

Method: photo.updateのリファレンスを読んでみます。写真の向き、場所の関連付け、接続などのメタデータの更新が可能。写真のピクセルは変更出来ない。upfateMaskフィールドのみが使用される。これが無ければ全てのフィールドに適用される。要はアップデートしたいフィールド指定を忘れない事。


エラーコードは省略

updateMask:
    • pose.heading 写真のセンターの向き
    • pose.latLngPair ジオタグ緯度経度
    • pose.pitch 仰角
    • pose.roll 回転
    • pose.level 建物の階数 1F 2F など
    • pose.altitude 高度(地上高?) m単位
    • connections 他写真へのリンク
    • places 場所の関連付け(リスティング)
取りあえずやりたい事は位置情報のセットなので、これに注目pose.latLngPair

bodyはgetした内容を編集すれば良いのかな? この辺がちょっと不明
suggestionsに従って緯度経度だけ入力し、EXECUTEしてみました。結果はすぐに反映しないみたいなので、後日確認。エラーコードは返って来てないので成功なのだろうか?
追記:しばらく経つと、サムネイルをクリックした時に新しい位置にペグマンが移動しました。青点表示は更に時間が掛かるようです。getしても反映は遅いです。

数値で入力出来るので、タブレットを指先で動かすよりも正確に置けそうだ。

テスト用のアカウントでやってみたけど、APIキーを取得していなかったみたい。Chromeにログインさえしていれば「Try this API」は出来るのかも??

ジオタグ変更の様子を録画しました。