googlemapAPIで取得した経度緯度を、mapfan用の経度緯度に変換

やる前は簡単に行くだろうと思っていたが、少し手間取った。
とりあえず下の関数でうまくったのでメモ。
実際にはmapfan用のURL記述が必要。

参考URL(感謝感謝)
http://taketan.mydns.jp/pukiwiki/index.php?PHP%2F%E8%87%AA%E4%BD%9C%E9%96%A2%E6%95%B0#hca250e5
http://homepage3.nifty.com/Nowral/02_DATUM/02_DATUM.html

function Mapfan_Deg2dms($deg){
$aa[0] = floor($deg);
$fl = $deg - $aa[0];
$tt = $fl * 360000 + 0.5;
$aa[1] = str_pad(($tt /6000 % 60),2,"0",STR_PAD_LEFT);
$aa[2] = str_pad(($tt /100 % 60),2,"0",STR_PAD_LEFT);
$aa[3] = str_pad(($tt % 100),2,"0",STR_PAD_LEFT);
$dms = implode($aa,".");
return $dms;
}

function Mapfan_mobile_url($lng,$lat){
//世界測地系日本測地系に変換
$lng_j = $lng + $lat * 0.000046047 + $lng * 0.000083049 - 0.010041;
$lat_j = $lat + $lat * 0.00010696 - $lng * 0.000017467 - 0.0046020;

//degree(xxx.xxxxxxxxx) から dms(xxx.xx.xx.xx)へ変換
$lng_deg = Mapfan_Deg2dms($lng_j);
$lat_deg = Mapfan_Deg2dms($lat_j);

$maplink = "http://link.mapfan.com/link.cgi?";
$maplink .= "REF=リンク元URL";
$maplink .= "&" . "RNAME=サイト名";
$maplink .= "&" . "MAP=E" . $lng . "N" . $lat;
return $maplink;
}