Project

General

Profile

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

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

Added by Shogo Kawahara almost 9 years ago. Updated over 2 years ago.

Status:
Won't fix(対応せず)
Priority:
Normal(通常)
Target version:
Start date:
2010-11-02
Due date:
% Done:

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

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


Related issues

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

Associated revisions

Revision 8a7d3300 (diff)
Added by Youichi Kimura over 5 years ago

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

History

#1 Updated by Shouta Kashiwagi over 7 years ago

  • Target version changed from OpenPNE 3.7.0 to 252

#2 Updated by Shouta Kashiwagi over 7 years ago

  • Target version changed from 252 to OpenPNE 3.8.x

#3 Updated by Mutsumi Imamura over 5 years ago

  • Assignee set to Youichi Kimura
  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.9.0-old

#4 Updated by Yuya Watanabe over 5 years ago

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 Updated by Youichi Kimura over 5 years ago

  • Status changed from New(新規) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

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

#6 Updated by Yuya Watanabe over 5 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 の場合に小窓化されないのは別問題

#7 Updated by Youichi Kimura over 5 years ago

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

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

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

#8 Updated by Youichi Kimura over 5 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"

#9 Updated by Yuya Watanabe over 5 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

#10 Updated by Yuya Watanabe over 5 years ago

  • Status changed from Pending Fixing(修正待ち) to Accepted(着手)

#11 Updated by Yuya Watanabe over 5 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

#12 Updated by Yuya Watanabe over 5 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70

#13 Updated by Yuya Watanabe over 5 years ago

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

#14 Updated by isao sano over 2 years ago

  • Status changed from Pending Testing(テスト待ち) to Won't fix(対応せず)
  • % Done changed from 70 to 0

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

Also available in: Atom PDF