本日 2015/11/13(金) の夜、われこマップ v3.9.2 をリリースした。
要約すると、
v3.9.2 (2015/11/13)
● 検索欄のコピペ問題が解決した(v3.9.1で)。
● メニューに、地図の共有機能を付けた。
が主な改良点です。
以下、その説明。まあ、あまり興味ある人は無いと思うので、自分用の備忘録。
先日 11/11(水)に v3.9.1 をリリースしたばかりなのだが、その二日後の今日、さらにバージョンアップしたのだ。
それぞれのバージョンでの主な改良箇所は以下の通り。
v3.9.1 (2015/11/11)
- 検索欄のコピペ問題が解決した。
これは、v1.0を作った時から発生していた問題で、何度か解決を試みたのだが原因が分からなかった。
どういう症状かと言うと、検索欄(Search Box)にマウス右クリックの「貼り付け」で文字列を貼り付けて、次にENTERを押しても検索が実行されないのだ(対策としては、ENTER押す前にスペース1個いれてバックスペースで削除、ENTER押すと行ける)。
キーボードで手入力する場合や、キーボードのCTRL+Vで貼り付ける場合には起こらない。
今回、ようやくその問題が解決したのだが、正直なところ、何が原因だったのか不明である。その解決方法も、文章では上手く表現出来ないような泥臭い方法だ。ネットで見つけた幾つかのサンプルプログラムのコードを引用して、それらを試行錯誤で組み合わせたら、何故か解決したのだ。なので、自分でも何故解決したのか良く分かっていない。
まあ、兎に角、解決したようなので良しとする。
- 広告表示をやめた。
少しくらいはAdSense広告の収入を期待して広告を入れてみたのだが、集計してみると、殆ど収入が得られていない事が判明。その一方で、われこマップ起動時に広告表示のためのJavaScriptコードを読み込む処理が入るので、プログラムの起動に十秒くらい掛かる場合が有った。
自分で使っていても使いづらいと感じるようになったので、自分が使いにくいと感じるような物を世間に提供するのは申し訳ないので広告は中止した。
v3.9.2 (2015/11/13)
- メニューに、地図の共有機能を付けた
これは、本家の Googleマップにある「リンクを共有」という機能を真似して作ってみたのだ。
具体的には、現在表示されている地図の緯度経度の数字を使って短縮URLと普通URLの二つを作る機能だ。この機能で作成したアドレスをメールやネットでの投稿などに利用出来るので、われこマップ利用者の数が爆発的に増える事を期待している! 目標は月間1億PVだ!
なお、以下のような幾つかの問題点や今後改善が必要な点があるので、本家Googleマップの「リンクを共有」には今一歩及ばない(いや10歩くらいかもしれない)
すなわち、われこマップのリンク共有で作成した短縮URLを開いて表示される地図を、その元になった現在表示されている地図と比較すると以下の制限事項があるのだ。
- 両者を比較すると、表示場所が若干ずれる場合がある(一応対策済だがテスト不十分)。
- ストリートビュー画面のカメラ位置、ズームなどの情報は現状では考慮していないので、短縮URLを開くとストリートビュー画面ではカメラ位置、向きは再現できない。
本家Googleマップでは勿論そういう問題は無く、二つの地図は完全に一致する。ストリートビュー画面も完全に同じ物が再現できる。カメラの向き、位置、ズームレベルも。
一方、われこマップの場合には、上記の制限事項があるのだ。
1番目の問題に関しては、ワテのプログラミングの問題だ。今回リリースしたv3.9.2では、実はこの位置ずれ問題も対策を施したので、恐らくこの問題は解決したと思うのだが、十分テストしていないので、現状は、位置ずれがあるという認識だ。
2番目の問題に関しても、同じくプログラミングの問題だ。search.php?q=文字列 のように文字列を与えると、その文字列(例えば住所、緯度経度、その他)を使って位置表示をするように作っているのだが、ストリートビュー画面のカメラの向きや位置やズームレベルの情報などは現状では渡していない。
なので、もし対策するなら、この文字列の中に、ストリートビュー画面のカメラの向きや位置やズームレベルの情報も入れて渡せば、元地図と短縮URLで開く地図とを、完全に一致させることが出来るはずだ。いずれ実装したい。
- ヘルプに広告表示を入れた
v3.9.1では われこマップの表示領域に広告を出すのは廃止した。しかしながら、多少でもAdSense広告収入を期待して、ヘルプのページには広告を貼る事にした。
要するに、貼っても殆ど収益は期待出来ないが、かと言って貼らないと本当に完全に収益は0になる。でも、取りあえず貼っとけば0に成る事はないので貼ったと言う事だ。
例えて言うと、宝くじなんて当たらないと言って、買わないと本当に当たらないが、
当たるかもしれないと思ってダメ元で買ったら、当たる人もいるみたいなもんかな。
ちょっと例えが違うかな。まあいい。
以上が、v3.9.1 と v.3.9.2 での改良箇所だ。
短縮URL作成方法
短縮URLの作成はC#のプログラムで行っている。ASP.NETのサーバーサイドプログラミングだ。
サーバーサイドのプログラムを書く場合、世間ではPHPが主流なのかもしれない。ワテもWEBプログラミングの勉強を始めてからJavaScriptやPHPを多少は習得して、それらを連携してサーバーサイド処理が書けるようになった。
でも、PHPはスクリプト言語なので、CやC++などと比較すると動きが遅いのであまり好きになれない。一方、ASP.NETでC#言語を使ってプログラムを書くのは、自分では一番慣れた環境なのでやり易いし、各種の自作ライブラリなどもあるので作業が捗る。そして、コンパイルして実行するので処理速度も速い。
だからワテの場合、PHPを使うメリットが無いのだ。なので、今後もC#で開発を続けると思う。それとVisual Studio ではPHPを使えるのだがデバッグを行うためには、他社製の有料ソフトを使う必要があるのだ。で、無料お試し期間の一か月が切れて今はPHPのデバックが出来ない。実行は出来るが。そういう問題もあるのでPHPはやめてC#一本で行くつもりだ。
出来れば現状のわれこマップのクライアントサイドのJavaScriptコードも、可能な部分はC#のサーバーサイドに移植したいと思っている。というのは、JavaScriptでプログラミングをする場合、あまり大規模なプログラムは書きにくいからだ。一つの具体例を挙げると、JavaScriptでは変数のスコープが、C,C++,C#ほどは細かく制御できない。
例えばJSの場合、グローバル変数のスコープはそのプロジェクト全体になるが、Cなどではもちろんそれも可能だが、ファイル単位に制限する事も出来る(static変数)。そういうのがJSでは出来ない(出来るのかもしれないがやり方を知らない)のでJSは使いづらいと感じる。
で、実際に短縮URLを作成する手法だが、ネットを検索すると沢山の説明があるので、ワテもそういうサイトにあるサンプルコードをほとんどそのまま参考にさせて頂いた。まあ、サンプルを見ながらやれば誰でも出来ると思うので詳細は省略。
短縮URL機能の使用例
現在表示している東京タワーの場所で短縮URLを作成する
第一回目の実行では数秒かかる場合がある。たぶんASP.NETのプログラムがメモリーにロードされるのに時間が掛かるのかな。
で、この短縮URLを試しに開いてみると
緯度経度で指定する場所は、完全に一致している。
一方、右側のストリートビューではカメラの向きが若干違う。
この点は要改善だ。
コメント