システム開発の最近のブログ記事

Google Mapにおける地名表記が問題となっています。
今更ではありますが、問題の標準版と、日本(グローバル)版の違いを確認してみました。

まずは、標準版と日本語版の表記の違いを確認してみます。下のURLはどちらも問題となっている竹島を中心とした地図です。
 
 確かに竹島が「リアンクール岩礁」と表記されています。
 
 次に日本版 http://www.sdjgis.co.jp/mt3/uploads/cojp.html ですが、
 こちらは「竹島」と表記されています。


さて、それぞれ何が違うのかソースを見てみることにします。
標準のソースは、Google Maps Javascript API v3のデベロッパーズガイドに掲載されている物を利用しています。(https://developers.google.com/maps/documentation/javascript/tutorial?hl=ja#HelloWorld

標準版のソース
<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0; padding: 0 }
      #map_canvas { height: 100% }
    </style>
    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?sensor=false">
    </script>
    <script type="text/javascript">
      function initialize() {
        var mapOptions = {
          center: new google.maps.LatLng(37.2416, 131.8666),
          zoom: 15,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"),
            mapOptions);
      }
    </script>
  </head>
  <body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
  </body>
</html>

日本版はこの11行目を以下のように変更しています。
 標準版 http://maps.googleapis.com/maps/api/js?sensor=false
 日本版 http://maps.google.co.jp/maps/api/js?sensor=false

Googleの日本サイトからAPIを読み込めば、日本版が利用できるという事になります。


本質的な問題は別なところにあるような気がしますが、
システム開発者にとっては、注意が必要です。

XOOPSのモジュール「formmail (spam SSL対応版)」をインストールした際のメモ。
利用したformmailのバージョンは1.2.3です。


【フォームメールがインストールできない件】

フォームメールをインストールしようとすると、
「Incorrect index name ''」とのメッセージが表示される。

同梱の「インストール失敗(EUC).txt」を読みましょう。

【対応方法】
「/formmail/sql/mysql(4.1以降).sql」のファイル名を
「/formmail/sql/mysql.sql」としてサーバーにアップロードして再度インストール。


【フォームの要素が作成できない件】

フォームの要素を作成しようとすると、「Errors None」とのメッセージが出ます。
原因はFormMailがPHP5に対応していない為です。
修正方法は以下の通り。

【対応方法】
▼/formmail/admin/elements.php 134行目
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
フォームバリデーション時のjavascriptエラーを修正。

(旧) $form->display();
(新) print ereg_replace("myform.ele_value\[([0-9]+)\]", 'myform.elements[\'ele_value[\1]\']', $form->render());


▼/formmail/class/elements.php 89行目
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(旧) if( get_class($element) != 'formmailformmail'){
(新) if( strcasecmp(get_class($element), 'formmailformmail') != 0){


▼/formmail/class/elements.php 155行目
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(旧 if( get_class($this) != 'formmailelementshandler') {
(新) if( strcasecmp(get_class($this), 'formmailelementshandler') != 0){

URL:http://www.kume.biz/modules/gsbbs/sread_view.php?view_id=290&page=2&mode=fromlist


【SPAM/SSLの設定が保存できない件】

SPAM/SSLの設定を保存しようとすると、「_NOT UPDATE」とのメッセージが表示される。

同梱の「アドミン画面の説明(EUC).txt」を読みましょう。

【対応方法】
「/config.php」のアクセス権限を666にする。



客先でVirtualPCを利用したシステムのデモを行う際、はまった体験です。

  • 今回デモするシステムはLAPP(Linux + Apache + Postgres +PHP)環境でのWebシステム
  • 客先でのネットワークは利用できない
  • 社内の開発サーバーを公開することは出来ない

ノートPC上に開発サーバーと同じ仮想環境をつくり、ゲストPCでWebサーバを起動し、ホストPCのブラウザからアクセスすれば可能だと簡単に考えました。
・・・が、ネットワークケーブルがつながってないとホストPCにIPを振ることが出来ないのです。つまり、ホストPCからゲストPCにアクセスが出来ないということ。困った。


いろいろと調べた結果、Microsoft Loopback Adapterを使うとケーブルを挿さなくてもIPアドレスが振れるようです。

【解決方法】
  1. ホストOSにMicrosoft Loopback Adapterをインストールする
  2. 追加されたネットワークに固定IPを振る
  3. VirtualPCのネットワーク設定でMicrosoft Loopback Adapterを指定する
  4. ゲストPCに固定IPを振る


【参考】
Microsoft Loopback Adapterを使って「LANなしネットワーク」
http://www.obenri.com/_vpcspecial/vpc_network2.html



WindowsXPのVirtualPCで作ったRHEL4の仮想マシンを、Vistaで実行させようとしたら、やたらキーボードが連射される現象に見舞われました。

【現象】

  • 起動中画面がやたら切り替わる
  • キーボードが連射され入力できない
  • すぐにスクリーンセーバー画面に切り替わる
  • パスワード入力画面でパスワードを入力する時間がない
    (入力しても連射され正しく入力できないのでほぼログイン不可)
  • CPU使用率が100%
  • システムモニタの動きがやたら早い
  • 時計が1分1秒程度の速度で進む


要はシステムが超スピードで動いてしまっているらしい・・・困った。


ネットで見つけた解決策を貼っておきます。

システム時刻は、非常に速い 仮想 サーバー 2005 R2 にホストされた Linux ベースのバーチャル マシンで実行されます。」(翻訳注意)
http://support.microsoft.com/kb/918461/ja


こちらも、/boot/grub/menu.lstの kernel行に「clock=pit」を追加して再起動すると見事に直りました。
キーボードが入力しにくいので大変苦労しましたが・・・


動作環境
 ホストPC OS:Windows Vista Bussines
 ゲストPC OS:RedHat Enterprise Linux4
 仮想マシンソフトウェア:Microsoft VirtualPC 2007


Google Maps APIの利用規約を調べようと思ったら、英語版しかなかったという方に。

以下のアドレスより、日本語の利用規約を読むことが出来ます。
http://code.google.com/intl/ja/apis/maps/signup.html

ページ中央やや下のテキストアリア内に日本語の利用規約があります。


ちなみに、「Google Maps API」 と「Google マップ」は別物です。
もちろん利用規約も違います。


先日、Google Earthがブラウザで利用可能になったことをお伝えしましたが、
弊社のホームページの会社案内ページの本社所在地の地図を,
Google Earth APIを利用してGoogle Earth風に表示できるようにしました。

超次元空間情報技術株式会社 会社案内



既にGoogle Maps APIを使って地図を表示してたので、
addControlの部分を全てコメントアウトして、
以下の3行をを追加しただけで出来ました。

map.addMapType(G_SATELLITE_3D_MAP);
map.addControl(new GHierarchicalMapTypeControl());
map.addControl(new GLargeMapControl());

GOverviewMapControl()を有効にしたままだと、
これまで通りGoogleMapで表示した場合は問題ありませんが、
GoogleEarthで表示する際に、地図画面が2つ表示されてしまい、うまく表示できませんでした。


動作テスト環境
 ブラウザ:FireFox2,IE6
 OS:WindowsXP

prototype.jsというのがすごく便利です。

例えば・・・

これが
var aaa = document.getElementById("hogehoge")

 ↓

こう書ける
var aaa = $("hogehoge")


その他の機能、詳しい事はまた今度。

2017年1月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

なかのひと

Powered by Movable Type 4.1