/**
 * @author hasegawa
 */
function getNearestLandmark(shuttlePosition){
    var data = [{
        lat: 35.6836,
        lon: 139.7646,
        fullname: '三菱UFJ信託銀行本店ビル',
        name: '三菱UFJ信託本店'
    }, {
        lat: 35.6841,
        lon: 139.7650,
        fullname: '住友信託銀行東京ビル',
        name: '住友信託'
    }, {
        lat: 35.6855,
        lon: 139.7654,
        fullname: 'みずほファイナンシャルグループ',
        name: 'みずほ'
    }, {
        lat: 35.6862,
        lon: 139.7657,
        fullname: '大手町ビルディング',
        name: '大手町ビル'
    }, {
        lat: 35.6868,
        lon: 139.7668,
        fullname: '逓信総合博物館ていぱーく',
        name: 'ていぱーく'
    }, {
        lat: 35.6877,
        lon: 139.7667,
        fullname: 'NTT大手町ビル',
        name: 'NTT大手町ビル'
    }, {
        lat: 35.6895,
        lon: 139.7668,
        fullname: '鎌倉橋',
        name: '鎌倉橋'
    }, {
        lat: 35.6893,
        lon: 139.7643,
        fullname: '神田橋インター',
        name: '神田橋インター'
    }, {
        lat: 35.6884,
        lon: 139.7644,
        fullname: '日本政策投資銀行',
        name: '日本政策投資銀行'
    }, {
        lat: 35.6878,
        lon: 139.7633,
        fullname: '三井生命ビル',
        name: '三井生命'
    }, {
        lat: 35.6880,
        lon: 139.7623,
        fullname: '三井物産ビル',
        name: '三井物産'
    }, {
        lat: 35.6888,
        lon: 139.7616,
        fullname: '東京消防庁',
        name: '東京消防庁'
    }, {
        lat: 35.6895,
        lon: 139.7619,
        fullname: '気象庁',
        name: '気象庁'
    }, {
        lat: 35.6872,
        lon: 139.7632,
        fullname: '大手町パルビル',
        name: 'パルビル'
    }, {
        lat: 35.6864,
        lon: 139.7640,
        fullname: '大手町ビルヂング',
        name: '大手町ビルヂング'
    }, {
        lat: 35.6859,
        lon: 139.7627,
        fullname: '大手センタービル',
        name: '大手センタービル'
    }, {
        lat: 35.6844,
        lon: 139.7624,
        fullname: 'AIGビルディング',
        name: 'AIGビル'
    }, {
        lat: 35.6821,
        lon: 139.7622,
        fullname: '交差点名',
        name: '和田倉門'
    }, {
        lat: 35.6811,
        lon: 139.7623,
        fullname: '三菱商事ビル',
        name: '三菱商事'
    }, {
        lat: 35.6805,
        lon: 139.7621,
        fullname: '丸の内三井ビル',
        name: '三井ビル'
    }, {
        lat: 35.6801,
        lon: 139.7617,
        fullname: '駅名',
        name: '二重橋前'
    }, {
        lat: 35.6790,
        lon: 139.7615,
        fullname: '明治生命舘',
        name: '明治生命'
    }, {
        lat: 35.6785,
        lon: 139.7610,
        fullname: '交差点名',
        name: '馬場先門'
    }, {
        lat: 35.6766,
        lon: 139.7607,
        fullname: '帝国劇場',
        name: '帝国劇場'
    }, {
        lat: 35.6753,
        lon: 139.7602,
        fullname: '丸の内警察署',
        name: '丸の内警察'
    }, {
        lat: 35.6746,
        lon: 139.7606,
        fullname: 'ザ・ペニンシュラ東京',
        name: 'ペニンシュラ'
    }, {
        lat: 35.6742,
        lon: 139.7613,
        fullname: '有楽町電気ビル',
        name: '有楽町電気ビル'
    }, {
        lat: 35.6736,
        lon: 139.7623,
        fullname: '有楽町マリオン',
        name: 'マリオン'
    }, {
        lat: 35.6754,
        lon: 139.7628,
        fullname: 'ビックカメラ',
        name: 'ビックカメラ'
    }, {
        lat: 35.6764,
        lon: 139.7633,
        fullname: '東京国際フォーラム',
        name: '国際フォーラム'
    }, {
        lat: 35.6787,
        lon: 139.7640,
        fullname: '三菱東京UFJ銀行本店',
        name: '三菱東京UFJ本店'
    }, {
        lat: 35.6810,
        lon: 139.7639,
        fullname: '丸の内ビルディング',
        name: '丸の内ビル'
    }, {
        lat: 35.6816,
        lon: 139.7646,
        fullname: '交差点名',
        name: '東京駅中央口'
    }];

	var dist = 100000000;
	var dataId = null;
	for(var i=0; i<data.length; i++){
		var item = data[i];
		var temp = getDistance(shuttlePosition['lat'],shuttlePosition['lon'],item['lat'],item['lon']);
		if(temp < dist){
			dist = temp;
			dataId = i;
		}
	}

	return data[dataId]['name'];
}

var SEKIDOUHANKEI = 6378137;

function getDistance(lat1, lng1, lat2, lng2){
    var lat1_ = toRadians(lat1);
    var lng1_ = toRadians(lng1);
    var lat2_ = toRadians(lat2);
    var lng2_ = toRadians(lng2);
    
    var cs = Math.cos(lat1_) * Math.cos(lat2_) * Math.cos(lng1_ - lng2_) +
    Math.sin(lat1_) * Math.sin(lat2_);
    
    return Math.acos(cs) * SEKIDOUHANKEI;
}

function toRadians(value){
    return value * Math.PI / 180.0;
}
