F.Ko-Jiの「一秒後は未来」

Googleマップ with Yahoo!地図情報(β版)

Googleマップ上にYahoo!地図情報の地図を表示するという地図を作ってみました。

Googleマップ with Yahoo!地図情報(β版)

Googleマップをクリックすると、クリックされた地点のYahoo!地図を吹き出し内に表示します。そのYahoo!地図をクリックすれば、Yahoo!地図情報が開きます。

ただそれだけです。

※ 世界測地系と日本測地系のズレを修正するために、経度を12秒プラスし、緯度を12秒マイナスしています。

地図部分のソースコード

var map = new GMap(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.setMapType(G_MAP_TYPE);
map.centerAndZoom(new GPoint(139.705861,35.688341), 2);
GEvent.addListener(map, "click", function(overlay, point) {
 map.clearOverlays();
 var x = point.x;
 var y = point.y;
 var x1 = Math.floor(x);
 var x2 = Math.floor((x - x1) * 60);
 var x3 = (((x - x1) * 60) - x2) * 60;
 x3 = my_round(x3) + 12;
 if (x3 >= 60) {
  x3 = x3 - 60;
  x2 = x2 + 1;
 }
 if (x2 >= 60) {
  x2 = x2 - 60;
  x1 = x1 + 1;
 }
 var y1 = Math.floor(y);
 var y2 = Math.floor((y - y1) * 60);
 var y3 = (((y - y1) * 60) - y2) * 60;
 y3 = my_round(y3) - 12;
 if (y3 < 0) {
  y3 = y3 + 60;
  y2 = y2 - 1;
 }
 if (y2 < 0) {
  y2 = y2 + 60;
  y1 = y1 - 1;
 }
 var html = '<form  target="_blank" method=get action="http://map.yahoo.co.jp/pl"><input type=hidden name="nl" value="'+y1+'.'+y2+'.'+y3+'"><input type=hidden name="el" value="'+x1+'.'+x2+'.'+x3+'"><input type=hidden name="la" value="1"><input type=hidden name="sc" value="2"><input type=hidden name="prem" value="0"><input type=image name="CE" src="http://image.map.yahoo.co.jp/ymap/mk_map?&width=300&height=300&la=1&scale=10000&no_part=0&nl='+y1+'/'+y2+'/'+y3+'&el='+x1+'/'+x2+'/'+x3+'" border=0 height=300 width=300 alt="Yahoo!地図情報"></form>';
 var mk = new GMarker(point);
 map.addOverlay(mk);
 mk.openInfoWindowHtml(html);
});
function my_round(x) {
 return Math.round(x * 1000 + 0.5) / 1000;
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など