Enhancement(機能追加・改善) #1755
closedUpdate Google Maps API version to 3 (Google Maps APIのバージョンを3に上げる)
0%
Description
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!"
Files
Updated by Shouta Kashiwagi almost 13 years ago
- Target version changed from OpenPNE 3.7.0 to 252
Updated by Shouta Kashiwagi almost 13 years ago
- Target version changed from 252 to OpenPNE 3.8.x
Updated by Mutsumi Imamura about 11 years ago
- Assignee set to Youichi Kimura
- Target version changed from OpenPNE 3.8.x to OpenPNE 3.9.0-old
Updated by Yuya Watanabe about 11 years ago
- File t3495.diff t3495.diff added
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: ""
Updated by Youichi Kimura about 11 years ago
- Status changed from New(新規) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 8a7d3300b22252c38e25181f9a1936f284c57afe で適用されました。
Updated by Yuya Watanabe about 11 years ago
- Status changed from Pending Review(レビュー待ち) to 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 の場合に小窓化されないのは別問題
Updated by Youichi Kimura about 11 years ago
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 向けのコーディング規約 に近いフォーマットで書かれている
Updated by Youichi Kimura about 11 years ago
一応 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"
Updated by Yuya Watanabe about 11 years ago
- Status changed from Rejected(差し戻し) to Pending Fixing(修正待ち)
- % Done changed from 50 to 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
Updated by Yuya Watanabe about 11 years ago
- Status changed from Pending Fixing(修正待ち) to Accepted(着手)
Updated by Yuya Watanabe about 11 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
Updated by Yuya Watanabe about 11 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
Updated by Yuya Watanabe about 11 years ago
javascript のコーディング規約(スタイルガイド?)についてのチケットを別に切りました #3525
Updated by isao sano almost 8 years ago
- Status changed from Pending Testing(テスト待ち) to Won't fix(対応せず)
- % Done changed from 70 to 0
OpenPNE 3.8.10 にて対応済みであったため、対応せずとします。