2020年3月3日火曜日

Publish API のlistで拒否された写真を確認

Publish API のMethod: photos.listで拒否された写真を確認してみました。
"photoId"に該当"photoId"はありませんが、隣接写真の"connections"の"target"には拒否された"photoId"が残っていました。これを見ると写真が承認されれば結合も回復するようです。筑紫耶馬渓の写真が拒否から承認に戻った時に、何もせずに数日待つと結合が回復したのを確認しているので、結合作業のやり直しは不要みたいです。



elevator widget

elevator widget
マルチレベルツアーの仕組み SVTPで投稿を見つけたのでリンクをメモ。
最初の方しか読んでないけど、publish API試行する時に参考になるかも。

stack overflow: How to publish multilevel shoot using Street view publish API
※ 5m以内に異なるレベルの写真がある場合にのみ表示されます。





2020年3月2日月曜日

Publish API を使うためにphotoIdとplaceIdを得る方法

Publish APIを使うには"placeId"と"photoId"が必要です。

(1)先ずは"placeId"の取得方法です。
JavaScriptを使える方は「POI Click Events」にサンプルがあるのでご覧ください。

下記の方法でも"plaseId"を得ることが出来ます。
1.「自分の投稿」から「写真」のサムネイル一覧で場所名をクリックしてください。

2.アドレスバーの「place」の後ろに"placeId"があります。

(2)次に"photoId"の取得方法です。
JavaScriptを使える方は「Street View Events」に参考になるサンプルがあるのでご覧ください。

下記の方法でも"photoId"を得ることが出来ます。
1.「自分の投稿(Your contributions)」からサムネイルをクリックしてください。
2.タイトルカードのメニュー「」から「画像を共有または埋め込む」をクリックします。
3.「地図を埋め込む」をクリックします。
4.「HTMLをコピー」します。

5.HTMLコードの"!1s"と"!2m"の間に"photoId"が有ります。

得られた"photoId"は下記のURLに追記すると画像が表示されます。(参照)
https://www.google.com/maps/@?api=1&map_action=pano&pano=


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月28日金曜日

Let's try the Street View Publish API.

Publish APIを使ってみましょう!

公式の情報はココから読めます。英語だし、プログラマーでは無い私にはちんぷんかんぷんです。チラ見してガイドに進みます。前書きを読むとサードパーティアプリの開発者向けと書いてあるので、ど素人には難し過ぎです。でもAPIs Explorerを使うと1分間で体験出来るらしい。APIs Explorerをクリックすると、・・・1分で諦めました。

流し読みして、Method: photo.getを見つけました。画面右側に「Try this API」があります。これで何か出来そうだな。photoIdは何故か知っていたので、フォームに貼り付けて、LanguageCodeは日本語だから「ja」と記入、viewはプルダウンからBASICを選択です。EXECUTEをクリックしてみると、Googleのアカウント選択画面が表示されたので、該当アカウントを選択です。認証をパスすると、EXECUTEの下に結果が表示されます。あれ? API keyはどうなったんだろう。昔登録してたかも??

photoIdはHow to get Panorama ID を読めば取得出来ると思います。Panorama IDとかPano IDとか書き方が違いますが、64BITの文字列です。JavaScriptを使える人はStreet View Events 辺りを参照すればGUIで取得可能です。

続きは「Method: photo.getを使ってみた」を読んでください。拒否された写真と承認された写真のデータ例を書いています。

データ形式は難しいけど、位置情報を数値で見れたり、結合の状況が分かるので便利です。

※メモ photoIdの欄に使用したIDが蓄積されるけど、これはリスト表示の部分にマウスポインターをかざして、Shift + Deleteキーで削除出来ます。