Glideで飲食店や店舗を登録して共有するサービスを作っております。 現状新規店舗を登録する際に店舗......

Glideで飲食店や店舗を登録して共有するサービスを作っております。
現状新規店舗を登録する際に店舗名、住所、写真を手入力で入力するようにしているのですが、入力を簡単にする方法を模索しております。
※一つ一つの情報が手入力だとめんどくさくなかなかやる人がいないためです。
そのためMap上から住所、緯度経度、可能であれば店舗名までをGooglemapで店舗を探して地点登録するときのように行う方法、もしくは登録する写真から位置情報を取得する方法はないでしょうか?

【現状】
添付ファイル2のように手入力で情報を入力
【希望方法】
1.添付ファイル3のGooglemapで長押しした場所をそのまま地点登録するようにしたいです(位置の情報(住所できれば座標)、可能であれば施設名)
2.写真についている位置情報から場所を特定する

方法をご存知の方がおられましたらアドバイスいただけると助かります。

回答者
おそらく、表示している地図の経度と緯度を取得する必要がある為、
Glideではできない挙動かと思います。
実装方法として、まず、GoogleMapで表示されている経度と緯度の情報取得が必要になります。
javascriptの場合は、、Google Map は以下の
LatLng で地図の経度と緯度を表示可能です。
var map = new google.maps.Map(document.getElementById(“map”), opts);
var latlng = map.getCenter();
var lat = latlng.lat();
var lng = latlng.lng();
上記で、lat 、lng を変数として、取得し、データに格納して上げればOKです。
この辺のコーディング関連は、
WordPress ,Bubble あたりで無いと難しいかもしれないです。
Glide関連では無いですが、実装に必要そうな記事いくつかPickアップしておきます。
【参考】Google Map のクラス

【参考】
Google Maps APIを使って地図の中心と表示領域の座標を取得する
https://www.javadrive.jp/google-maps-javascript/gmap2/index5.html#section1

質問者
やはりGlideでは難しいのですね。
このためにbubbleに手を出すかは悩ましいですね。
平然、bubbleで難しく断念した記憶はあるので重要度を見て考えてみます。いつもいつもありがとうございます。

参考画像

参考URL

https://www.javadrive.jp/google-maps-javascript/gmap2/index5.html#section1

「いいね!」 1

2月に投稿された質問ですが、解決済ですか?6月に入会したものですが、興味深い質問だったのでGlideで簡単に緯度経度の入力が出来ないか考えてみました。(Glideの4月4日に投稿された質問も住所から緯度経度を求める内容だったのでそれにも同じような回答をしています)

(考え方)
質問者さんの希望解決法の2.に書かれているやり方でやってみました。(「2.写真についている位置情報から場所を特定する」)
①Googleマップで店舗or施設を選択し、マーカーを立てる。
→画面左にその店舗の情報が出てくる。

②住所情報をコピー
・・・PCならば画面左の情報で住所部分をクリックしてコピー(クリックするとコピーされる。スマホならば長押ししてコピー範囲を設定してコピー)
③Glideで作ったアプリのformに住所を入力する
既に住所情報はコピーされてクリップボードに入っているのでctrl+Vでペーストで入力
(スマホでも同様の操作)
④同様にして「店舗名」もコピーして、formにペーストする

~住所から緯度経度を求める方法~
スプレッドシートにGASで住所から緯度経度を求めるスクリプトを書きました。(GeoCode API使用。下記スクリプト参照下さい)
⑤formでデータを送ると緯度経度が計算される→マップ上に緯度経度に基づいてマーカーが立つ

(イメージ)
a.地図の情報から住所、店舗名をコピーして取得する

b.アプリの操作画面

(アプリサンプル)クローンコピーできます

(GASスクリプト)参考までに
function sample_geocoder () {

var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“sheet1”);
var lastRow=ss.getLastRow();
var address = sheet.getRange(lastRow,1).getValue();

var
geocoder = Maps.newGeocoder() // Creates a new Geocoder object.
, geocoder = geocoder.setLanguage(‘ja’) // Use Japanese
, response = geocoder.geocode(address).results[0]; // ets the approximate geographic points for a given address.
Logger.log(response.geometry.location.lat + " : " + response.geometry.location.lng);
sheet.getRange(lastRow,5).setValue(response.geometry.location.lat);
sheet.getRange(lastRow,6).setValue(response.geometry.location.lng);

}

(ポイント)
Googleマップでマーカー立てたらすでにそこの店舗の住所や店舗名は画面左に表示されているので、その情報をコピーすればいいだけじゃないかと考えました。これじゃダメですか?

「いいね!」 1

1点補足しておきます。上記のやり方はGoogleマップとGlideのformを交互に行ったり来たりするやり方を想定しています。

PCの場合は2つのアプリ(Googlemap,Glide)を立ち上げて交互に切り替えます。
スマホの場合はすでにデータを入れた案件のマップを使ってGooglemapに入り込み、データをコピーしたらタブを選択してGlideのformに画面を切り替えます。(要はGlide内部で行ったり来たりするということです。)

今迄、Glideで緯度経度を自動で求めるにはどうしたらいいかという質問が過去に結構出ていますが、見たところ「Glideでは無理」という回答です。(質問者さんもそれで黙ってしまいます)
GeoCodeAPIとかGoogleMapAPIを使ったスクリプトを書けば簡単に緯度経度求められますので、どうかGlideを最大限活用して欲しいと思います。(Bubble等使えば簡単にできるという話ではないと思います)

「いいね!」 1

さかのぼっての回答ありがとうございます!!