Enhancement(機能追加・改善) #1755
完了Update Google Maps API version to 3 (Google Maps APIのバージョンを3に上げる)
0%
説明
Overview¶
Update Google Maps API version to 3 (Google Maps APIのバージョンを3に上げる)
http://code.google.com/intl/en/apis/maps/documentation/javascript/
"Note: The Google Maps Javascript API Version 3 documented within these pages is now the official Javascript API. Version 2 of this API has been officially deprecated as per our deprecation policy. We encourage you to migrate your code to this newly updated and enhanced version!"
ファイル
Mutsumi Imamura さんがほぼ11年前に更新
- 担当者 を Youichi Kimura にセット
- 対象バージョン を OpenPNE 3.8.x から OpenPNE 3.9.0-old に変更
Yuya Watanabe さんがほぼ11年前に更新
- ファイル t3495.diff t3495.diff を追加
Upgrading Your Google Maps JavaScript Application To v3 - Google Maps JavaScript API v2 (Deprecated) — Google Developers
https://developers.google.com/maps/documentation/javascript/v2/v2tov3
上記ページを参考にして手元で動作確認したものをパッチとして添付しておきます.差分は 3.8.9 からのものとなるため t3495.diff としています.
主な変更点としては- google からロードする js ファイルの URL を変更
- google_AJAX_search の js を削除
- google ネームスペースのオブジェクトを用いるように変更
- js のロード順によって google ネームスペースのオブジェクトが undefined になってしまう問題を回避するためにinclude_javascript() を先に呼ぶように変更
- https となる url でも小窓化するように変更
- GBrowserIsCompatible 相当のものは存在せず必要もないことから削除
- MayType の定数を変更 参考
詳しく調べていませんが API Key を設定しなくても動作するようです。
この差分には含めていませんが AJAX API もほかでは使ってないようですし削除してしまって問題無さそうですね.
diff --git a/lib/config/config/sns_config.yml b/lib/config/config/sns_config.yml index 4ea8da8..da158cd 100644 --- a/lib/config/config/sns_config.yml +++ b/lib/config/config/sns_config.yml @@ -338,11 +338,3 @@ api_keys: IsRequired: false IsTrim: true Default: "" - google_AJAX_search_api_key: - Name: "google AJAX search api key" - Caption: "google AJAX search api key" - FormType: "text" - ValueType: "string" - IsRequired: false - IsTrim: true - Default: ""
Youichi Kimura さんがほぼ11年前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 8a7d3300b22252c38e25181f9a1936f284c57afe で適用されました。
Yuya Watanabe さんがほぼ11年前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
フィードバック¶
js のなかでセミコロンが省略されていますが ASI に頼るかどうかについて判断が難しいため基本的にはセミコロンを付ける方針のほうがよさそうです.下記に jquery や google での javascirpt のセミコロンについての URL を記述しておきます.
JavaScript Style Guide | Contribute to jQuery
http://contribute.jquery.org/style-guide/js/#semicolons
Google JavaScript Style Guide
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Semicolons#Semicolons
自分のパッチとの違いについて¶
基本的には大丈夫だと思います.自分のパッチとの違いについても問題ないと思います.
- API 関連のものはプラグインなどで用いている可能性もあるため消さないほうが良さそう
- use_javascript() を用いていないため複数回同じ js ファイルが記述される可能性があるが api や sensor も含めたパスが異なる場合で別のものとして処理されるため重複しないようにするために use_javascript() を使う利点はない
- https の場合に小窓化されないのは別問題
Youichi Kimura さんがほぼ11年前に更新
JavaScript のコーディング規約に関する話は今まで出そうで出ていなかったようです。セミコロンの有無については好みの問題なので付けても良いと思っていますが、修正するのであれば何に合わせて記述すべきかを明確にした方が良いと思います(特にこれからJavaScriptコードは増加する一方のため)。
既存の JavaScript コードの大雑把な傾向は下記のような具合です。
- source:web/js/op_activity.js.src
- "{" の前には常に改行を入れない
- else は "}" と同じ行に続ける
- 無名関数の function と () の間に空白を入れる
- source:web/js/op_emoji.js.src
- "{" の位置を無名関数と オブジェクト初期化子 の場合とで区別している
- else は "}" と同じ行に続ける
- 無名関数の function と () の間に空白を入れていない
- source:web/js/util.js.src
- "{" の前後に必ず改行を入れている
- else の前後にも改行を入れている
- return の前に空行を入れている
- 全体的に PHP 向けのコーディング規約 に近いフォーマットで書かれている
Youichi Kimura さんがほぼ11年前に更新
一応 note-6 で 2 つ例が挙げられているので、セミコロン付けないプロジェクトの例も 2 つ挙げておきます。
GitHub (https://github.com/styleguide/javascript): ※ GitHub は既存のJSコードを除いて通常は CoffeeScript を使用している
Existing JavaScript¶
- Avoid adding new .js files.
- Use soft-tabs with a two space indent.
- Do your best to never use a semicolon. This means avoiding them at line breaks and avoiding multi-statement lines. For more info, read Mislav's blog post.
Twitter Bootstrap (https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#coding-standards):
JS¶
- No semicolons
- Comma first
- 2 spaces (no tabs)
- strict mode
- "Attractive"
Yuya Watanabe さんがほぼ11年前に更新
- ステータス を Rejected(差し戻し) から Pending Fixing(修正待ち) に変更
- 進捗率 を 50 から 0 に変更
javascript ではセミコロンがない正常に動作しない可能性があるものと思い,差し戻しをおこなっていました.少なくとも ASI を考慮した上で正しく記述されているコードであれば問題なさそうであるため今回の指摘からは除外します.
コーディング規約についてですがセミコロンについては「つける」「つけない」「記述なし」のパターンが存在するようですね.下記は「記述なし」のパターンのようです.
JavaScript style guide | MDN
https://developer.mozilla.org/ja/docs/JavaScript_style_guide
Dojo Style Guide - The Dojo Toolkit
http://dojotoolkit.org/community/styleGuide
Yuya Watanabe さんがほぼ11年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Yuya Watanabe さんがほぼ11年前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更