■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: 4.0.10.1にてGoogleMapsが動作しない

sdish > Re: 4.0.10.1にてGoogleMapsが動作しない @ 2018/4/13 9:53
私も同様の現象になり、2ヵ所の環境で一応解決しております。
明確な解決方法ではないうえ、少し環境が異なるかもしれませんが、解決の糸口になれば幸いです。
サーバは、さくらインターネットのスタンダードとさくらVPSのCentOS7です。
また、両方ともSSLにて運用しています。(環境の詳細は後述)

1.下記ファイルを編集
# vi /var/www/html/lib/Baser/Lib/BcGmaps.php
### 定数宣言部分 ###
const GMAPS_API_BASE_URL = "https://maps.googleapis.com/maps/api/geocode/xml"; <--httpsに変更
### コンストラクタ部分 ###
public function __construct($apiKey) {
/*
$this->_gmapsApiUrl = self::GMAPS_API_BASE_URL . "?key=" . $apiKey; <--- コンストラクタ部を無効にする。
*/
}
### メソッド部分 ###
protected function _geocode($param) {
/*
$requestUrl = $this->_gmapsApiUrl . "&address=" . urlencode($param); <--- 元の処理を無効にする。
*/
$this->_gmapsApiUrl = self::GMAPS_API_BASE_URL . "?address=" . urlencode($param); <--- ここから2行を追加
$requestUrl = $this->_gmapsApiUrl . "&key=" . $apiKey; <--- ここも追記

2.使っているテーマのBcGooglemapsHelper.phpのAPI呼び出しが古い場合がある(APIキーを指定しないバージョン)
  その場合は、ROOT/lib/Baser/View/Helper/BcGooglemapsHelper.phpと入れ替え等を行う。
  また、下記の部分を編集。
$googleScript = '<script src="' . $apiUrl . '?key=' . h($apiKey) . '"></script>'; <-- ?key= を ?v=3.exp&key= に変更

3.GoogleMapsのAPIキー設定
HTTPリファラーの設定時、下記2パターンを登録
*.yourdomain.com/*
https://yourdomain.com/shop (何故か、ワイルドカードのみだとリファラエラーが発生)

1.について補足
HTTPで取得しようとするとRequests to this API must be over SSL.と帰ってきたため。
また、?key=*****&address=*****で取得すると、addressがないとエラーが発生したので、公式通り?address=**&key=***とした。

2ヵ所とも上記の設定で修正可能でした。
・BaserCMSのバージョン 4.1.0.1
・レンタルサーバ名 さくらインターネットスタンダード
・スマートURL ON
・設置フォルダ ドキュメントルート
・利用しているデータベース SQLite
・PHPスキル E(C言語系およびサーバエンジニアです)
・OS FreeBSD 9.1
・PHP 5.6.33
・DB SQLite

・BaserCMSのバージョン 4.0.10.1 -> 4.1.0.1
・レンタルサーバ名 さくらVPS
・スマートURL ON
・設置フォルダ ドキュメントルート
・利用しているデータベース SQLite
・PHPスキル E(C言語系およびサーバエンジニアです)
・OS CentOS 7
・PHP 5.6.35
・DB SQLite
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
27 人のユーザが現在オンラインです。 (27 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 27