【途中経過】 concrete5 の Google Map ブロックのバグについて

concrete5 のバグについてのメモ書き。この投稿はあとで更新します。

ブラウザによって、GoogleMapが設定できない
http://concrete5-japan.org/community/forums/beginner/post-13170/

 

正しい Google Map ブロックの使い方

■ 1 「場所を入力」(Enter Location) がきちんと表示されているか確認。

google_map_error_1

住所欄に「場所を入力」という文字が出ている必要があります。
「場所を入力」という表示が出るまで、なにも操作しないでください。
Chrome 「場所を入力」が表示されない場合は、Firefox で試してください。Firefox の場合は「Enter location」と英語で表示される場合があります。

 

■ 2. 場所を選択

google_map_error_2

住所の入力を開始すると、Google Map の候補一覧が現れます。
このリストに載っていないと Google Map では正常に表示されないので、
別の検索などを使ってください。

■ 3. ブロックを追加

google_map_error_3

無事に住所の入力が終わったら、保存してください。

 

Google Map ブロックで正常に追加できない時のエラーの解説

Google Map ブロックで住所を追加しようとしても「正しい場所を選択してください」というエラーが表示され、ブロックが追加できなくなる場合があります。

そのエラーの解説です。

google_map_error_4

Google Map の JS を読み込んで設定している JS が
/concrete/blocks/google_map/auto.js
に書いてあります、

Chrome の開発ツールを使って調べていますが
ブラウザが、その auto.js をそもそも読み込んでいない場合があり、
Google Map の経度・緯度情報ががうまく入力されていないためにエラーが発生しています。

■ エラーの説明と、Google Map ブロックの仕組み

Google Map ブロックは、Google Map API Ver.3 より、内部では下記のような仕組みで動いています。

1. ユーザーが住所を入力する
2. JS が Google Map のサーバーに候補となる住所をリストで表示する
3. ユーザーがその候補を選択する
4. Google Map の JS が、その候補に関係する経度・緯度を、concrete5 に渡す
5. concrete5 の Google Map ブロックは、ユーザーが入力した情報に加えて、経度・緯度の数字データも同時にデータベースに保存する。

 

画面に出ているエラーは、5番目のエラーですが、

それ以前に、ユーザーが住所を入力するときに、JS がうまく働いていないところから原因があり、

それを調べていたら、その JS である auto.js 自体を Chrome が読み込んでいないことがわかりました。

ちょっと原因を継続調査中です。