2020年6月14日日曜日

Googleマップで不正行為のプロファイル全体を報告する方法

You can now report entire profiles for abuse on Google Maps

Googleマップでポリシー違反のユーザーを報告出来るようになったとの事。因みにこれは以前から有った機能です。※Androidでしか確認していません。Connect経由のレポートは受け付けなくなるそうなので、多分不正報告機能の後退です。Googleマップで該当ユーザーのプロフィールを表示して右上の「」をタッチして「プロフィールを報告」をタッチすると下記の様なフォールが表示されます。報告する選択肢は5つしかありません。ここにテキスト入力の欄が有れば詳しく報告出来ると思います。スクリーンショットを貼り付け出来ればもっと良いでしょう。「別のポリシー違反」を選んでもどんな違反なのか分からないと思います。20枚毎の1枚にポリシー違反のスーパーインポーズを挿入していてもGoogleには見つけれないと思います。出来るんだったら、既に自動節度システムで弾いているはずです。
不正行為は5つの選択肢です。
5月22日に必要な処置を行うとの連絡が有りましたが、ポリシー違反のユーザーはその後も下記の様に同様のコンテンツを投稿しています。


2020年5月31日日曜日

改めてローカルガイド プログラム利用規約を読んでみた

ローカルガイド プログラム利用規約

上記より引用です
Google では、ポリシーに違反している可能性のあるコンテンツについて Google にご報告いただくよう、ローカルガイドの皆様にお願いしています。ポリシー違反の可能性について連絡を受けた場合、Google ではコンテンツを確認したうえで、コンテンツへのアクセスの制限、コンテンツの削除、ローカルガイドによるコネクト、ローカルガイド プログラム、または各種 Google サービスへのアクセスの制限または終了など、適切な措置を講じることがあります。ただし、芸術上、教育上、もしくは記録上考慮すべき事項に基づく場合、または措置を講じないことが社会にとって別の大きなメリットとなる場合は、本ポリシーに例外を設けることがあります。

 報告しても中々適切な処置は講じられないみたい。

UPDATED: Temporary product changes in Google Maps
上記内に「prioritize critical services」が書かれています。リンク先を読んでみると、「Our current focus is on the quality and reliability of information on Google Search and Maps. 」情報の品質と信頼性は優先事項みたいだ。ポリシーに違反するコンテンツは十分に品質を下げていると思うけど。

2020年5月23日土曜日

拒否されたまま帰って来ない360度写真

拒否されたまま帰って来ない360度写真ですが、どれだったか忘れかけているのでメモです。埋め込みコードでは他の写真が表示されるか、黒画面かのどちらかです。サムネイルは正常に表示されるので付け加えておきます。


地層のフォーリー (CAoSLEFGMVFpcE04THVacWRtNGY0bmpsUEMwZGxvY1QzOTQtczdWNE0yZXdDNFNz)



※2020/10/17 代替表示で自分の写真が表示されるように地層のフォーリーを撮り直しました。
桧原運動公園-44 (CAoSLEFGMVFpcFA2a3E2NTVVWU52S3pUZDBXS1ZDQVRvakpmS0RDX3AzOFo2Q01W)




p.s.[2020/07/01]
・Yotaroh さんの写真は削除済みとの返答だけど、何が違うのだろう?
・photoID:CAoSLEFGMVFpcE1FUVdJZlF6dElQLVNyS0Npa2JTblFSUWFwdW8wS2VPWkVzRGFf
飛田給駅のサムネイル
上記のサムネイルのURLのパラメータを書き換えると回せるし、画角も変わる。サムネイル画像として保存しているのではなく、元データにパラメータを与えてサムネイルを動的に作成していると思う。photoIDのリンク先だけが行方不明だと思う。


p.s.[2020/07/12]
Publish API のMethod: photos.listを使って毎週日曜日に全データを収集していますが、先週との差分を見ていたら、桧原運動公園の写真の結合データに変化が有りました。私は何も触っていないはずなのですが、3つの結合"connections"の内の1つが削除されています。復活の兆しならば良いのですけどね。下記の黄色い部分が差分データです。


拒否されている写真の結合データ(黄色い部分)が削除。左が今週、右が先週のデータです

DeniGさんからの返事は未だ来ません。追加情報として連絡してみます。

2020年4月1日水曜日

COVID-19 対応に因る遅延の確認


2020年4月1日早朝に18枚アップロードしてみました。すべてリスティング付けはされていて、承認もされています。Googleマップ→「自分の投稿」→「写真タブ」にはサムネイルを含めてすぐに表示されました。左下の小さなマップには未だ青点が現れていません。サムネイル欄の場所名をクリックしても同様に表示されます。但し、マップ上の場所名をクリックしても「あなたが投稿した写真」には表示されません。

この一時的な変更は、あなたの投稿がGoogleマップに公開されない可能性があることを意味します。ただし、投稿はすべてプロフィールページに表示されます。
上記に書かれている状態と一致しているようです。 Androidのマップアプリでも同様でした。Method: photos.list では該当データを見ることが出来ました。
--
4/1 06:00 アップロード
4/1 12:00 結合の編集
4/1 18:00 矢印は現れず変化なし
4/2 00:00 矢印は現れず変化なし 数日以上掛かりそう。
4/2 06:00 矢印は現れず変化なし
4/2 18:00 矢印は現れず変化なし
4/3 06:00 矢印は現れず変化なし
4/3 18:00 矢印は現れず変化なし
4/4 00:00 矢印は現れず変化なし
4/5 18:00 矢印は現れず変化なし
4/6 06:00 矢印は現れず変化なし、本人以外には見えない状態が続く・・・
4/6 18:00 矢印は現れず変化なし、一部位置情報がおかしくなってる
4/7 06:00 矢印は現れず変化なし、一部位置情報がおかしくなってる
4/8 18:00 矢印は現れず変化なし
4/25 8:00 久々に見ると、青点と結合が反映されてるけど、幾つかの位置情報がおかしい

2020年3月29日日曜日

Publish API のMethod: photos.listでデータ取得

Publish API のMethod: photos.listでデータ取得

filterは必須じゃないので空欄でもEXECUTE可能です。pageSizeの最大値は200ですが、pageTokenを使えば、続きのデータを取得可能です。最初に200個のデータを取得すると、最後に"nextPageToken"があるので、その文字列をpageTokenに貼り付けると次のデータを取得可能になります。

pageSizeを4→5→8→10と少しずつ増やしてみると、拒否された写真のデータが返って来ないことが分かりました。10個要求しても8個しか返って来ません。400個まで取得してみると395個しか返って来ないので、拒否されている枚数と一致です。1322個まで取得可能でしたが、累計で1307個しか返って来ないことが分かりました。15枚の不足です。現在拒否としてリストアップしているのが5枚、それ以外に5枚は拒否を確認出来ているのですが、あと5枚不明な写真があるようです。探すのが面倒だな。
宇賀神社、すずめ地獄が2枚、通潤橋、乗用車内の5枚と最近拒否を確認した5枚、後5枚が分からない。

EXECUTEした結果は下記の様にツリーを折りたたんだ状態で全てを選択してコピーすると楽です。

テキストエディタ等にペーストすれば内容を見ることが可能です。JSONエディタ等で開くとツリー表示と切り替えて見ることが出来ます。今回は日本語対応の「J_and_E」を使ってみました。
J and EでJSONファイルをツリー表示した様子
pageSizeを10とし、10個だけ取得した例です。0番目の一部を開いています。
9番目の後にnextPageTokenがあります。

私の場合は1,300枚ほどなので、200枚×7回で全データを得ることが出来ますが、枚数が多い人は自動化しないと面倒でしょうね。

☆JSONデータからphotoIdの値だけ抽出する方法(Windows10)
コマンドプロンプトでjqコマンドを使うと簡単に抽出出来ます。
※jq-win64.exeをjq.exeにファイル名を変えて使ってます。
c:\>type file.json | jq .photos[].photoId.id > photoId.txt

jqに-rを付けるとダブルクォーテーション無しになります。
c:\>type file.json | jq -r .photos[].photoId.id > photoId.txt

閲覧数のみは下記で抽出可能です。
c:\>type photolist.json | jq -r .photos[].viewCount > view_count.txt

typeコマンドをパイプ「|」でつないで、リダイレクト「>」でファイルに書き込みます。
これでphotoIdだけのリストファイルが作成されます。
リダイレクトを「>>」として7回分を追加書き込みしてソートしておくと便利です。
週に一回photoIdリストを取得しておくと、不具合発生中の承認と拒否の推移が分かります。コマンドプロンプトで下記の様にすると同じフォルダーのファイルをアペンドします。
c:\>copy /b photolist_*.json photolist_all.json

定期的にlistを取得するとviewCountのみ変化する。この行は下記で削除可能。
※位置情報が変わるのでおかしい(末桁が四捨五入??)詳細は未調査
type photolist.json | jq "del(.photos[].viewCount)" > photolist_delview.json
※代替方法 エディタMeryの置換で「^.*viewCount.*\n」を検索し削除する。

正規表現を使用、置換後の文字列欄は空白に


placeIdは下記で抽出可能です。ソートの後に重複削除が必要です。
c:\>type file.json | jq -r .photos[].places[].placeId > placeId.txt

clipにパイプすると、クリップボードに書き込みます。
c:\>type file.json | jq -r .photos[].places[].placeId | clip

【Windows 10】「クリップボード履歴」を活用する

※コマンドプロンプトでファイル名・ディレクトリ名を補完する機能はTABキーです。

2020年3月25日水曜日

curlって何?

json形式のファイルから特定の項目だけ抜き出したいとググっていると、「curl」の文字が出てきます。何だか分からないけど、Unix コマンドだろうと読み飛ばしていました。ちょっとググってみたら、curlコマンドとはサーバから、もしくはサーバへデータ転送を行うコマンドらしい。更にググっているとWindows10で既に使えるとの事。

 ・Windows 10 に curl がプリインストールされてた
コマンドプロンプトでcurlのバージョン表示
コマンドプロンプトで使えるけど、文字が小さくて見づらいと思っていたら、コマンドプロンプトのプロパティから、文字のフォントを変更すれば大きくなることにも気づきました。知らなかったのは自分だけかも。
コマンドプロンプト
コマンドプロンプトのプロパティ


Publish APIのTry this APIの画面で「cURL」とあるのは多分これの事らしい。

取りあえずメモはここまで。

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年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キーで削除出来ます。

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」は出来るのかも??

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


Method: photo.delete を使って削除

Publish APIMethod: photo.delete を使って削除してみました。「試してみる」をクリックするとパラメーターを入力するだけで、このAPIを試すことが可能です。使うにはCredentials(資格情報)として、GoogleのアカウントとAPIキーが必要です。

削除に必要なのは「photoId」、64bitのIDを入力しEXECUTEをクリックするだけです。しばらくすると、写真タブから削除されたことが確認出来ました。getしてみると、下記の様に"NOT_FOUND"で削除の確認が出来ました。


{
  "error": {
    "code": 404,
    "message": "Image not found for id: CAoSLEFGMVFpcE5wUEt6YU1zM3QzeXdDV21fYUp6aHRFRGxEYThxdUg1Z1E5dmto",
    "status": "NOT_FOUND"
  }
}

2020年2月26日水曜日

Method: photo.getを使ってみた

Publish APIMethod: photo.getを使ってみました。「試してみる」をクリックするとパラメーターを入力するだけで、このAPIを試すことが可能です。使うにはCredentials(資格情報)として、GoogleのアカウントとAPIキーが必要です。

photoId: IDを指定します。"CA"で始まる64bitの文字列です。
languageCode: 日本語ならば"ja"です。
view: プルダウンから"BASIC"を選択

EXECUTEをクリックすると、アカウント選択画面が表示されるので選択してください。APIキーを持っていると、APIが実行されて結果が表示されます。※初めての使用では画面が異なるかも知れません。

下記は拒否された写真の例です。
{
  "error": {
    "code": 503,
    "message": "Photo with id CAoSLEFGMVFpcE1zbkpwRkxhZTdyd2N2XzUwUHZjZnFFdW12VkU4NDA3aEpTT1cx is still processing. Please retry later.",
    "status": "UNAVAILABLE"
  }
}

下記は承認されている写真の例です。
{
  "photoId": {
    "id": "CAoSLEFGMVFpcFBaUFhKdDhFdkpuVk5fU1o3bHdNLVU5QnA3b3J0X2F5QjVGWTN0"
  },
  "pose": {
    "latLngPair": {
      "latitude": 33.510758081764017,
      "longitude": 130.490983016789
    },
    "altitude": "NaN",
    "heading": 34,
    "pitch": "NaN",
    "roll": "NaN"
  },
  "connections": [
    {
      "target": {
        "id": "CAoSLEFGMVFpcFB1XzFxVU9XU0s4ZG03QmNfUkNYckFHUnZTRGhkd0t3OUZoSDdV"
      }
    },
    {
      "target": {
        "id": "CAoSLEFGMVFpcE1saTRBX0taaU9vMHNXSTMzd2p6dXhfRzdiTjF1d1ROUzQ4N3lk"
      }
    }
  ],
  "captureTime": "2019-11-29T04:30:25Z",
  "places": [
    {
      "placeId": "ChIJ-Ta6fhiaQTURHrUsasHtMNs",
      "name": "太宰府歴史スポーツ公園",
      "languageCode": "ja"
    }
  ],
  "thumbnailUrl": "https://lh3.googleusercontent.com/p/AF1QipPZPXJt8EvJnVN_SZ7lwM-U9Bp7ort_ayB5FY3t",
  "viewCount": "390",
  "shareLink": "https://www.google.com/maps/@33.5107581,130.490983,3a,75y,34h/data=!3m4!1e1!3m2!1sAF1QipPZPXJt8EvJnVN_SZ7lwM-U9Bp7ort_ayB5FY3t!2e10",
  "transferStatus": "NEVER_TRANSFERRED"
}


Method: photos.list を使ってみる

Publish APIMethod: photos.listを使ってみました。「試してみる」をクリックするとパラメーターを入力するだけで、このAPIを試すことが可能です。使うにはCredentials(資格情報)として、GoogleのアカウントとAPIキーが必要です。API Explorerを使用する時にAPIキーは不要です。※APIs Explorer よくある質問

filter: "placeId="に続けてプレイスIDを入力します。
languageCode: 日本語ならば"ja"です。
pageSize: 取りあえずデフォルトの100を入力
pageToken: あれば入力してください。
view: プルダウンから取りあえず"BASIC"を選択

EXECUTEをクリックすると、アカウント選択画面が表示されるので選択してください。APIキーを持っていると、APIが実行されて結果が表示されます。※初めての使用では画面が異なるかも知れません。

プレイスIDに登録された自分の写真のリストを得ることが出来ますが、人の目にはちょっと見難いです。テキストとして保存して、数日後に再度実行してみると更新状況が分かるかも知れません。下記は3枚の写真がある名島豊川稲荷神社の例です。相変わらずですが、LatLngPairを見ると同じ場所になっているのが分かります。connentionsを見てみると結合されていることが分かります。targetの数だけ結合しています。
WinMerge日本語版を更新しておこう。


{
  "photos": [
    {
      "photoId": {
        "id": "CAoSLEFGMVFpcE1NVGpTNDBhZHZybEhYd1Z2U2pHdGhZU05wWkttSWV3cXNuQkFH"
      },
      "pose": {
        "latLngPair": {
          "latitude": 33.645629383125133,
          "longitude": 130.42260596824769
        },
        "altitude": "NaN",
        "heading": 3,
        "pitch": "NaN",
        "roll": "NaN"
      },
      "connections": [
        {
          "target": {
            "id": "CAoSLEFGMVFpcE1JdE56dlZlM3FZZHJ4c2dOcWN3RnBmeVQ1MVhLVGFZQUpXZDRq"
          }
        },
        {
          "target": {
            "id": "CAoSLEFGMVFpcE5MNDc5NlkyXzhKbXVOY0hERjBoakhQUXJhVWZCSTA0YWtfcHVS"
          }
        }
      ],
      "captureTime": "2019-12-09T00:00:00Z",
      "places": [
        {
          "placeId": "ChIJHbLZa4GPQTURi3jB7Vjss30",
          "name": "名島豊川稲荷神社",
          "languageCode": "ja"
        }
      ],
      "thumbnailUrl": "https://lh3.googleusercontent.com/p/AF1QipMMTjS40advrlHXwVvSjGthYSNpZKmIewqsnBAG",
      "viewCount": "851",
      "shareLink": "https://www.google.com/maps/@33.6456294,130.422606,3a,75y,3h/data=!3m4!1e1!3m2!1sAF1QipMMTjS40advrlHXwVvSjGthYSNpZKmIewqsnBAG!2e10",
      "transferStatus": "NEVER_TRANSFERRED"
    },
    {
      "photoId": {
        "id": "CAoSLEFGMVFpcE1JdE56dlZlM3FZZHJ4c2dOcWN3RnBmeVQ1MVhLVGFZQUpXZDRq"
      },
      "pose": {
        "latLngPair": {
          "latitude": 33.645629383125133,
          "longitude": 130.42260596824769
        },
        "altitude": "NaN",
        "heading": 15,
        "pitch": "NaN",
        "roll": "NaN"
      },
      "connections": [
        {
          "target": {
            "id": "CAoSLEFGMVFpcE1NVGpTNDBhZHZybEhYd1Z2U2pHdGhZU05wWkttSWV3cXNuQkFH"
          }
        }
      ],
      "captureTime": "2019-12-09T00:00:00Z",
      "places": [
        {
          "placeId": "ChIJHbLZa4GPQTURi3jB7Vjss30",
          "name": "名島豊川稲荷神社",
          "languageCode": "ja"
        }
      ],
      "thumbnailUrl": "https://lh3.googleusercontent.com/p/AF1QipMItNzvVe3qYdrxsgNqcwFpfyT51XKTaYAJWd4j",
      "viewCount": "447",
      "shareLink": "https://www.google.com/maps/@33.6456294,130.422606,3a,75y,15h/data=!3m4!1e1!3m2!1sAF1QipMItNzvVe3qYdrxsgNqcwFpfyT51XKTaYAJWd4j!2e10",
      "transferStatus": "NEVER_TRANSFERRED"
    },
    {
      "photoId": {
        "id": "CAoSLEFGMVFpcE5MNDc5NlkyXzhKbXVOY0hERjBoakhQUXJhVWZCSTA0YWtfcHVS"
      },
      "pose": {
        "latLngPair": {
          "latitude": 33.645629383125133,
          "longitude": 130.42260596824769
        },
        "altitude": "NaN",
        "heading": 93,
        "pitch": "NaN",
        "roll": "NaN"
      },
      "connections": [
        {
          "target": {
            "id": "CAoSLEFGMVFpcE1NVGpTNDBhZHZybEhYd1Z2U2pHdGhZU05wWkttSWV3cXNuQkFH"
          }
        }
      ],
      "captureTime": "2019-12-09T00:00:00Z",
      "places": [
        {
          "placeId": "ChIJHbLZa4GPQTURi3jB7Vjss30",
          "name": "名島豊川稲荷神社",
          "languageCode": "ja"
        }
      ],
      "thumbnailUrl": "https://lh3.googleusercontent.com/p/AF1QipNL4796Y2_8JmuNcHDF0hjHPQraUfBI04ak_puR",
      "viewCount": "301",
      "shareLink": "https://www.google.com/maps/@33.6456294,130.422606,3a,75y,93h/data=!3m4!1e1!3m2!1sAF1QipNL4796Y2_8JmuNcHDF0hjHPQraUfBI04ak_puR!2e10",
      "transferStatus": "NEVER_TRANSFERRED"
    }
  ]
}

このメソッドを見るきっかけになったのは、この投稿(SVTP)です。Valeraさんに感謝。

2020年2月18日火曜日

How to get Panorama ID

Googleマップに投稿した360度写真のPanorama ID(Pano ID)を得る方法です。今日現在起きているバグの為に、黒い画面もしくは別の写真が表示されていても取得可能です。

1.PCのブラウザで該当サムネイルを選択します。黒い画面もしくは他の画面が表示されていても気にしないでください。もちろん正しい写真が表示されている場合も同様です。
Choose a thumbnail

2.「」 で「画像を共有または埋め込む」をクリックします。
Share or embed image
 3.「地図を埋め込む」をクリックします。
Embed a map
 4.「HTMLをコピー」をクリック。この時に別の写真が表示されていても構いません。
COPY HTML
 5.メモ帳等に貼り付けてください。
Paste on notepad
 6.「!1s」と「!2m」の間にPanorama IDは有ります。
The panorama ID can be found between the !1s and !2m. 
7.Panorama IDの利用方法はあなた次第です。ユニークなIDなので、代替機能で近くの写真を表示しません。例えば「これ」が正しく表示されたら、今回の不具合が解消されたことが分かります。

https://www.google.com/maps/@?api=1&map_action=pano&pano=CAoSLEFGMVFpcE5ZUjhEV2dVMmhpZ0FiTU9DQnBFSndrZktTaWZOS2V6Q0owTWFY
参照

2020年1月30日木曜日

Panorama IDを指定してストリートビューを表示する方法

いつもググってるので、メモ

参照元

要点のみ
下記urlに続けて panorama IDを追加すれば表示されます。
https://www.google.com/maps/@?api=1&map_action=pano&pano=

表示例:旧福岡県公会堂貴賓館

オプション「&heading=」で向きを追加可能など詳細は参照元へ
※Googleマップのオプション「画像を共有または埋め込む」を使う方が簡単です。

panorama IDの取得は 「Street View Events」 辺りを参照

別の方法:Googleマップのサムネイルを選択し、右側の画像の「」から「画像を共有または埋め込む」を選択する。更に「地図を埋め込む」をクリックし、「HTMLをコピー」する。エディター等にペーストし、「!1s」と「!2m」の間の64文字を取り出す。

2020年1月25日土曜日

Google マップ拒否済みが2枚発生、更に2枚拒否増加

先日まで問題なく表示されていたと思うけど、先ほど確認してみると太宰府歴史スポーツ公園の2枚が「Googleマップ拒否済み」になってました。自動モデレーションシステムの改良は7回目も失敗です。間違って拒否する一方で、本来拒否済みにすべき写真が承認されている現システムは駄目です!
AIじゃない、無能di (@_@) 一部削除されたのでリンク更新



青丸が表示されるようになりましたけど、一部はゴーストみたいでペグマンをドロップしても別の写真が表示されます。


8th update で更に拒否済みが2枚増えました。代わりに以前拒否になっていた筑紫耶馬渓の1枚が復活しました。
見付かったのは桧原運動公園の2枚です。内1枚は2019年2月にアップロードしたものなので、結合の再編集を行った際に拒否されたみたいです。
復活! (桧原運動公園-7)


まだ拒否済み(桧原運動公園-44)



2020/01/31 太宰府歴史スポーツ公園の1枚が復活。結合してるが、青丸は未だ無い
2020/02/03 上記の青丸が復活
2020/03/22 太宰府歴史スポーツ公園の2枚目が復活。結合はOUTのみ、INは未だ
2020/03/22 桧原運動公園が復活


太宰府歴史スポーツ公園
桧原運動公園
桧原運動公園