今後、使いそうだったのでメモひらめき電球


サンプルもあるので分かりやすいです。


感謝ニコニコ


ケータイで取得した位置情報をGoogleMap形式に変換するサンプル


以下引用です。


今回は座標をGoogleMapで使えることを目的として、


度分秒形式からミリ秒形式へ変換するPHPのサンプルをご紹介します。


ケータイ(度分秒形式)→GoogleMap(ミリ秒形式)への変換サンプル

// GPSで取得した座標の例
$ido = '+43.3.14.112';
$keido = '+141.22.35.364';

// 度分秒形式からGoogleMapに対応したミリ秒形式に変換する
list($g_ido, $g_keido) = convertIdoKeidoForGMap($ido, $keido);

echo '緯度=' . $g_ido . '<br>';
echo '経度=' . $g_keido . '<br>';

/**
 * 緯度・経度変換メソッド
 * 緯度・経度を度分秒形式からミリ秒形式に変換する
 * @param	string	$ido	緯度(度分秒形式)
 * @param	string	$keido	経度(度分秒形式)
 * @return	array		array([変換後の緯度], [変換後の経度])
 */
function convertIdoKeidoForGMap($ido, $keido) {
	// 度分秒形式からGoogleMapに対応した形式に変換する
	$keido_arr = explode('.', $keido);
	$ido_arr = explode('.', $ido);
	$g_keido = trim($keido_arr[0]) + trim($keido_arr[1]) / 60
		+ (trim($keido_arr[2]) + trim($keido_arr[3]) / 1000) / 3600;
	$g_ido = trim($ido_arr[0]) + trim($ido_arr[1]) / 60
		+ (trim($ido_arr[2]) + trim($ido_arr[3]) / 1000) / 3600;

	return array($g_ido, $g_keido);
}

なお、iモードのGPSで機能で測位した場合は世界測地系に、オープンiエリアで測位した場合は日本測地系になるようです。