borbisの日記 このページをアンテナに追加 RSSフィード

WILLCOM RING
borbisのホームページ
記事一覧
0000 | 00 |
2004 | 05 |
2005 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 03 | 04 | 05 | 06 | 11 | 12 |
2009 | 03 | 04 | 05 | 06 | 07 |
2010 | 04 |
Opera 9.6
Always Secure with Opera

2005-10-08

Googleローカル」「Googleマップ」統合版で検索した地点をMapionで表示するブックマークレット(Opera8,Firefox用)


INTERNET Watchの記事等で紹介されているように「Googleローカル」と「Googleマップ」が統合された為、以前に書いたブックマークレットが使えなくなってしまいました。

で、この統合版に対応したブックマークレットを作りました。


更新履歴

2005-10-08 : 初版

2005-10-24 : 第2版

2005年10月20日ごろに Google ローカルの内部データの仕様が変更されて2005-10-08版のブックマークレットでは、位置のズレが出てしまいました。

ズレの量は、個々の検索結果によって異なりますが、ズレの量の経験的な平均値で補正しても充分実用的であろうと判断してブックマークレットを更新しました。

2005-11-23 : 第3版

その後、Googleローカルが正式に世界測地系に移行したことが判明し、

Google グループ

Tokyo2Wgs84 測地系変換

404 Not Found

等の記事を参考にして更新。

これにより、世界測地系から日本測地系への座標変換の精度がかなり向上したものと思います。

javascript:(function(){function createHttpRequest(){if(window.ActiveXObject){try {return new ActiveXObject("Msxml2.XMLHTTP") ;} catch (e) {try {return new ActiveXObject("Microsoft.XMLHTTP") ;} catch (e2) {return null ;}}} else if(window.XMLHttpRequest){return new XMLHttpRequest() ;} else {return null ;}}function GetDegJP(a,b,c){var y=b-0.0046017+b*0.00010695-a*0.000017464;var x=a-0.010040+b*0.000046038+a*0.000083043;var d=(c=='E')?x:y;return Math.round(d*1e6)/1e6;} var M,X;if((M=unescape(location.href).match(/(&|\?)ll=(\d+\.\d+,\d+\.\d+)/))==null){var T,oXH=createHttpRequest(); if(oXH==null)return; oXH.open("GET",location,false);oXH.send(''); T=oXH.responseText; M=T.match(/var points=[^;]+;/); if(M==null){ M=T.match(/<center lat=.+?\//); if(M==null)return;}} X=String(M).match(/\d+\.\d+/g);location="http://www.mapion.co.jp/c/f?uc=1&grp=all&nl="+GetDegJP(X[1],X[0],'N')+"&el="+GetDegJP(X[1],X[0],'E')+"&scl=25000&bid=Mlink"})();

2005-12-04 : 第4版

「コメント」頂いたGXmlHttp.create()を利用してサイズ削減。

世界測地系から日本測地系への変換を↓に合わせて微修正。

02 DATUM 測地系変換の方法

これは実際には、経緯度の数値を小数点以下6桁までに丸めてしまうので計算結果に影響しない程度の”微”修正ですが、将来、万が一、丸めの桁数を変えた時のことを考慮して、修正しておきます。

javascript:(function(){function GetDegJP(x,y,c){var b=y-0.0046020+y*0.00010696-x*0.000017467;var a=x-0.010041+y*0.000046047+x*0.000083049;var d=(c=='E')?a:b;return Math.round(d*1e6)/1e6;} var M,X;if((M=unescape(location.href).match(/(&|\?)ll=(\d+\.\d+,\d+\.\d+)/))==null){var T,oXH=GXmlHttp.create(); if(oXH==null)return; oXH.open("GET",location,false);oXH.send(''); T=oXH.responseText; M=T.match(/var points=[^;]+;/); if(M==null){ M=T.match(/<center lat=.+?\//); if(M==null)return;}} X=String(M).match(/\d+\.\d+/g);location="http://www.mapion.co.jp/c/f?uc=1&grp=all&nl="+GetDegJP(X[1],X[0],'N')+"&el="+GetDegJP(X[1],X[0],'E')+"&scl=25000&bid=Mlink"})();

2007-02-21 : 第5版

Googleマップの内部処理が変更されて動かなくなっていたので更新しました。またマピオンのURLは従来型の非スクロール地図にしました。

なお、ここのブックマークレットグーグルマップから直接マピオン地図を表示していますが、borbisのホームページや、Googleマップ⇒MapionMateのブックマークレットを更新した - borbisの日記で紹介しているGoogleマップ⇒MapionMateのブックマークレットなら多数の地図の中から希望にあった地図を選んで表示できます。ご参照ください。

javascript:(function(){function GetDegJP(x,y,c){var b=y-0.0046020+y*0.00010696-x*0.000017467;var a=x-0.010041+y*0.000046047+x*0.000083049;var d=(c=='E')?a:b;return Math.round(d*1e7)/1e7}function Deg2Dms(G){d=parseInt(G);m=parseInt((G-d)*60);s=parseInt(((G-d)*60-m)*60);ms=Math.round((((G-d)*60-m)*60-s)*1000);if(1000<=ms){ms=0;s=parseInt(s)+1;if(60<=s){s=0;m=parseInt(m)+1;if(60<=m){m=0;d=parseInt(d)+1;}}}m=(m<10?'0':'')+m;s=(s<10?'0':'')+s;ms=(ms<10?'00':ms<100?'0':'')+ms;return d+'/'+m+'/'+s+'.'+ms}var M,X;if((M=unescape(location.href).match(/(&|\?)ll=(\d+\.\d+,\d+\.\d+)/))==null){var T,o=new XMLHttpRequest();o.open("GET",location,false);o.send('');T=o.responseText;M=T.match(/centerLat: \d+\.\d+,centerLng: \d+\.\d+/);if(M==null){M=T.match(/center: \{lat: \d+\.\d+,lng: \d+\.\d+\}/);if(M==null){return;}}}X=String(M).match(/\d+\.\d+/g);location="http://www.mapion.co.jp/c/f?uc=1&grp=Air&nl="+Deg2Dms(GetDegJP(X[1],X[0],'N'))+"&el="+Deg2Dms(GetDegJP(X[1],X[0],'E'))+"&scl=25000&coco=,&icon=mark_loc,,,,,"})();

使い方


Googleローカル」型の使い方

INTERNET Watchの記事拡大画像(スクリーンショット)と同じ条件の「ラーメン」「東京都千代田区三番町」で検索するとこの画面になります。

そこで、第一候補の「フジ食堂」の文字をクリックすると右側の地図に吹き出しが現れます。この吹き出しの中の「フジ食堂」の文字をクリックすると小型の地図のページが表示されます。

この段階でブックマークレットを起動すると「フジ食堂」を中心にしたマピオン地図が表示されます。

また、前述の小型の地図のすぐ左下の位置に「拡大地図を表示」と書かれたリンクをクリックするとこちらの通常の「Googleマップ」の大きさの地図が表示されます。

この段階でも、ブックマークレットを起動すると「フジ食堂」を中心にしたマピオン地図が表示されます。


Googleマップ」型の使い方

では「Googleマップ」型の使い方は、どんな時か?と言うと、手短に言って、

画面の右上に表示されている「このページのリンク」をクリックして表示されたページでブックマークレットを起動した場合の事です。

具体的には先ほどの「フジ食堂」の拡大地図のページで下のほうに在る水色の長方形の付近をマウスでポイントしてダブルクリックして地図をスクロールさせてから画面の右上に表示されている「このページのリンク」をクリックするとこのページが表示されます。

この段階でブックマークレットを起動すると「東郷元帥記念公園」を中心にしたマピオン地図が表示されます。


 というか 言い訳

このブックマークレットは、Opera8 と Firefox で動作を確認しています。

IE は、「Googleマップ」型なら使えますが、「Googleローカル」型では動きません。

Googleローカル」型の場合、 XMLHttpRequest を使う必要があって IE にも対応させるとサイズが大きくなってしまいそうだからです。

どうしても IE で使いたい人は、「Googleローカル」「Googleマップ」統合版に対応させた京ぽんブックマークレットを使ってください。

高橋高橋 2005/11/24 10:25 こんにちは、面白いですね。Google Mapやローカルに実装済みのGXmlHttpクラスを利用したら、もしかすると、もう少し短くできるかもしれないです。試していないので、はずしたらすみません。
http://jsgt.org/ajax/newmon/GoogleMapsAPI.htm#GXmlHttp_code_

borbisborbis 2005/11/25 18:13 高橋先生のような御方にコメント頂いて涙が出るほどうれしいです。
ですが、小生はオブジェクト思考に未だ付いて行けないロートルでして、せっかくアドバイスいただいたページも、ほとんど理解出来ませんでした。
これを機会に”オブジェクト”とか”クラス”とかに再挑戦したいと思います。
有難う御座います。

高橋高橋 2005/11/26 00:03 こんばんは。私も手続き型の古い人間なので苦労しています(^^;

で、Google Mapやローカルは、地図を表示する時にGXmlHttpクラス(関数です)を読み込んでいます。その中にcreate()というメソッドがあるのですが、その内部コードは、次のようなものです。

function(){if(typeof ActiveXObject!=”undefined”){try{return new ActiveXObject(”Microsoft.XMLHTTP”)}catch(a){}}if(typeof XMLHttpRequest!=”undefined”){return new XMLHttpRequest()}return null}

つまり、ブックマークレットのcreateHttpRequest()と同等のAjaxな関数をすでに読込み済みなわけですので、それをcreateHttpRequest()の代わりにoXH=GXmlHttp.create()という具合に使えるかも、、、ということです。試してないのですが、たぶん。。。

borbisborbis 2005/11/27 14:26 懇切丁寧なコメント有難う御座います。
このコメントを1回目に見たときには、”クラス”,”メソッド”,”Ajax”の用語に目が眩んで 「 うわっ!、もうダメ ギブアップか? 」 と舞い上がってしまったのですが、「 (関数です) 」って補足説明に助けられました。
「 create()というメソッド 」の 「 内部コード 」を読み易くインデントしてみると、確かに自分のブックマークレットで使っている createHttpRequest() に良く似てる事に気付き、 「 あれっ!単純に関数を置き換えるだけ!で、しかも、他人のウェブページから読み込んだ関数を使うのか!? 」 っと半信半疑でしたが、↓の改造でマピオンの表示を確認しました。
(1) createHttpRequest() の関数定義を削除して、
(2) oXH=createHttpRequest() を oXH=GXmlHttp.create() に置き換える。

で、またしても”言い訳”になりますが、
高橋先生ご本人は最初からお気付きの事と思いますが、私がブックマークレットの中で使っていた createHttpRequest() は、 allabout の解説記事からたどり着いた
http://jsgt.org/mt/archives/01/000409.html
で見つけた jslb_ajax037.js からの単純コピペです。
ここで 「 単純コピペ 」 と云っているのは、実は、 allabout の解説記事がロクに理解出来ていないからで、つまり、ブックマークレットのサイズが小さくなっても IE で動かす方法については、まだ知識不足なのでした。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/borbis/20051008/p1

0000 | 00 |
2004 | 05 |
2005 | 07 | 08 | 09 | 10 | 11 | 12 |
2006 | 01 | 02 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 03 | 04 | 05 | 06 | 11 | 12 |
2009 | 03 | 04 | 05 | 06 | 07 |
2010 | 04 |
記事一覧

borbisのホームページ

検索の多いエントリー
自動更新(オートリロード)のブックマークレット

WILLCOM RING
前<< <乱> >>次


「ブックマークカウンタ & GooglePageRank & フィードメータ & リンクカウント付リンク集」 なら こちらのリンク先にあります。
↓は、はてなの制約のため、GooglePageRankを省いたバージョンです。

ブックマークカウンタ & フィードメータ付リンク集
Operaヲタクな人のブログ
「ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -」のはてなブックマーク数フィードメーター - ぴょぴょぴょ? - Linuxとかプログラミングの覚え書.. ぴょぴょぴょ? - Linuxとかプログラミングの覚え書き -
「Kuruman Memo (kuruman.org)」のはてなブックマーク数フィードメーター - Kuruman Memo最近5日のエントリー (kuruman.org) Kuruman Memo (kuruman.org)
「Shishimushi」のはてなブックマーク数フィードメーター - Shishimushi Shishimushi
「パソコン遊戯」のはてなブックマーク数フィードメーター - パソコン遊戯 パソコン遊戯
「A blog? with Σαιτω」のはてなブックマーク数フィードメーター - A blog? with Σαιτω A blog? with Σαιτω
「m2」のはてなブックマーク数フィードメーター - m2 m2
「チーム俺等 - m2O」のはてなブックマーク数フィードメーター - m2O チーム俺等 - m2O
「チーム俺等 - opera:hige」のはてなブックマーク数フィードメーター - opera:hige チーム俺等 - opera:hige
「new Error(”exeception throw”)」のはてなブックマーク数フィードメーター - new Error(”exeception throw”) new Error("exeception throw")
「Opera IRC+ | How to chat with Opera IRC Client」のはてなブックマーク数フィードメーター - OperaIRC+ Opera IRC+ | How to chat with Opera IRC Client
「ノヴム・オペラヌム - by Satoru Watanabe」のはてなブックマーク数フィードメーター - ノヴム・オペラヌム ノヴム・オペラヌム - by Satoru Watanabe
「FrontPage - Opera-PukiWikiPlus!」のはてなブックマーク数フィードメーター - Opera-PukiWikiPlus! FrontPage - Opera-PukiWikiPlus!
「てくてく糸巻き」のはてなブックマーク数フィードメーター - てくてく糸巻き てくてく糸巻き
「Opera The Fastest Browser on Earth」のはてなブックマーク数フィードメーター - Opera  The Fastest Browser on Earth Opera The Fastest Browser on Earth
「日々lま゛やきます」のはてなブックマーク数フィードメーター - 日々lま゛やきます 日々lま゛やきます
「I live until I die. - by Kawasemi」のはてなブックマーク数フィードメーター - I live until I die. I live until I die. - by Kawasemi
OperaヲタクでWILLCOMヲタクで地図好きな人のブログ
「borbisの日記」のはてなブックマーク数フィードメーター - borbisの日記 borbisの日記
WILLCOMヲタクで地図好きな人のブログ
「管理人のページ」のはてなブックマーク数フィードメーター - 管理人のページ 管理人のページ
「WILL - トップページ」のはてなブックマーク数フィードメーター - WILL WILL - トップページ
「ヨシヲたんの日記 - livedoor Blog(ブログ)」のはてなブックマーク数フィードメーター - ヨシヲたんの日記 ヨシヲたんの日記 - livedoor Blog(ブログ)
WILLCOMヲタクな人のブログ
「W-ZERO3 ツールMEMO」のはてなブックマーク数フィードメーター - W-ZERO3 ツールMEMO W-ZERO3 ツールMEMO
「伊藤浩一のW-ZERO3応援団」のはてなブックマーク数フィードメーター - 伊藤浩一のW-ZERO3応援団 伊藤浩一のW-ZERO3応援団
「memn0ck : ケータイ、モバイル、定額通信情報サイト」のはてなブックマーク数フィードメーター - memn0ck memn0ck : ケータイ、モバイル、定額通信情報サイト
「モバイルつれづれ日記」のはてなブックマーク数フィードメーター - モバイルつれづれ日記 モバイルつれづれ日記
「FrontPage - W-ZERO3 2ch情報まとめ」のはてなブックマーク数フィードメーター - W-ZERO3 2ch情報まとめ FrontPage - W-ZERO3 2ch情報まとめ
「なおっきのぶろぐ」のはてなブックマーク数フィードメーター - なおっきのぶろぐ なおっきのぶろぐ
「MOBILE DAILY NEWS blog版」のはてなブックマーク数フィードメーター - MOBILE DAILY NEWS blog版 MOBILE DAILY NEWS blog版
「DTP+営業メモ」のはてなブックマーク数フィードメーター - DTP+営業メモ DTP+営業メモ
「PDA×TPO@物欲狂抑鬱症」のはてなブックマーク数フィードメーター - PDA×TPO@物欲狂抑鬱症 PDA×TPO@物欲狂抑鬱症
地図好きな人のブログ
「Going My Way」のはてなブックマーク数フィードメーター - Going My Way Going My Way
「Ceekz Logs」のはてなブックマーク数フィードメーター - Ceekz Logs Ceekz Logs
「JavaScript++かも日記/Ajax,Google Maps」のはてなブックマーク数フィードメーター - JavaScript++かも日記 JavaScript++かも日記/Ajax,Google Maps
隠れOperaヲタクな人のブログ
「えむもじら」のはてなブックマーク数フィードメーター - えむもじら えむもじら
「朝顔日記」のはてなブックマーク数フィードメーター - 朝顔日記 朝顔日記
「こせきの日記」のはてなブックマーク数フィードメーター - こせきの日記 こせきの日記
アンチOperaな人のブログ
404 − Not Found

一部の人のブックマークカウントが不当に低く抑えられていますが、「はてなの陰謀はてなのバグ」かと思われます。 共通点は、名前に「~」(波線符号・チルダ)が付く事です。



Opera

ウェブブラウザOperaは、完全無料になりました。

高速安全簡単』の3拍子そろったインターネットを楽しみたい方は、ココをクリックしてOperaのダウンロードのページに行ってみては いかがでしょうか。

Opera 9.6

The secure Web browser