Re: 4.0.10.1にてGoogleMapsが動作しない
- dotnetxp > 4.0.10.1にてGoogleMapsが動作しない @ 2018/2/14 21:35
- seto > Re: 4.0.10.1にてGoogleMapsが動作しない @ 2018/2/15 10:19
- » sdish > Re: 4.0.10.1にてGoogleMapsが動作しない @ 2018/4/13 9:53
- ryuring > Re: 4.0.10.1にてGoogleMapsが動作しない @ 2018/7/10 22:06
- ryuring > Re: 4.0.10.1にてGoogleMapsが動作しない @ 2018/7/11 13:28
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 |