プロジェクト

全般

プロフィール

Enhancement(機能追加・改善) #1755

Update Google Maps API version to 3 (Google Maps APIのバージョンを3に上げる)

Shogo Kawahara13年以上前に追加. 約7年前に更新.

ステータス:
Won't fix(対応せず)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2010-11-02
期日:
進捗率:

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!"

t3495.diff 表示 - 3.8.9 からの変更差分 (5.91 KB) Yuya Watanabe, 2013-12-10 17:17


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #3495: Update Google Maps API version to 3 (Google Maps APIのバージョンを3に上げる) Fixed(完了) 2010-11-02
関連している OpenPNE 3 - Backport(バックポート) #3496: Update Google Maps API version to 3 (Google Maps APIのバージョンを3に上げる) Fixed(完了) 2010-11-02

関係しているリビジョン

リビジョン 8a7d3300 (差分)
Youichi Kimura10年以上前に追加

update to use Google Maps API v3 (fixes #1755)

履歴

#1 Shouta Kashiwagi約12年前に更新

  • 対象バージョンOpenPNE 3.7.0 から 252 に変更

#2 Shouta Kashiwagi約12年前に更新

  • 対象バージョン252 から OpenPNE 3.8.x に変更

#3 Mutsumi Imamura10年以上前に更新

  • 担当者Youichi Kimura にセット
  • 対象バージョンOpenPNE 3.8.x から OpenPNE 3.9.0-old に変更

#4 Yuya Watanabe10年以上前に更新

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:    "" 

#5 Youichi Kimura10年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 8a7d3300b22252c38e25181f9a1936f284c57afe で適用されました。

#6 Yuya Watanabe10年以上前に更新

  • ステータス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 の場合に小窓化されないのは別問題

#7 Youichi Kimura10年以上前に更新

JavaScript のコーディング規約に関する話は今まで出そうで出ていなかったようです。セミコロンの有無については好みの問題なので付けても良いと思っていますが、修正するのであれば何に合わせて記述すべきかを明確にした方が良いと思います(特にこれからJavaScriptコードは増加する一方のため)。

既存の JavaScript コードの大雑把な傾向は下記のような具合です。

この辺りの主要なコードを書いている 海老原さん川原さん の書き方で差があるように見えます。

#8 Youichi Kimura10年以上前に更新

一応 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"

#9 Yuya Watanabe10年以上前に更新

  • ステータス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

#10 Yuya Watanabe10年以上前に更新

  • ステータスPending Fixing(修正待ち) から Accepted(着手) に変更

#11 Yuya Watanabe10年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#12 Yuya Watanabe10年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#13 Yuya Watanabe10年以上前に更新

javascript のコーディング規約(スタイルガイド?)についてのチケットを別に切りました #3525

#14 isao sano約7年前に更新

  • ステータスPending Testing(テスト待ち) から Won't fix(対応せず) に変更
  • 進捗率70 から 0 に変更

OpenPNE 3.8.10 にて対応済みであったため、対応せずとします。

他の形式にエクスポート: Atom PDF