$(function () {
//update distance from goal to shop.
updateDistance();
});
function updateDistance () {
var dist = 0,
elm = $('#dist2Point');
if (typeof ZDC !== "undefined" && elm.length > 0) {
var data = elm.data();
if (data.hasOwnProperty('lat') && data.hasOwnProperty('lon')
&& data.hasOwnProperty('glat') && data.hasOwnProperty('lon')
&& data.lat && data.lon && data.glat && data.glon)
{
dist = ZdcGetDistance(data.lat, data.lon, data.glat, data.glon);
}
}
if (parseInt(dist) > 0) {
if(dist > 1000){
var html = '('+ (Math.round((dist * 100) / 1000)) / 100 +'km)';
}else{
var html = '('+Math.round(dist)+'m)';
}
elm.html(html);
}
}
//handle search route car error
var routeModal = null;
var ZdcEmapRouteCarHandleErrFunc = function (status, res, msg) {
if (!routeModal) {
routeModal = new modalLib('', msg, {
onClose: function () {
updateDrawRouteBtn(false);
}
});
}
routeModal.open();
}
//disable or enable button draw route.
var updateDrawRouteBtn = function (disable) {
if (disable) {
$('#ZdcSearchRouteBtn').addClass('disable');
} else {
$('#ZdcSearchRouteBtn').removeClass('disable');
}
}
//-----------------------------------------------------
// 2点間の距離計算(nkyoten.cgiと同等の計算式)
// 引数の緯度経度はミリ秒で指定
// 整数(メートル)で返却
//-----------------------------------------------------
function ZdcGetDistance($lat1, $lon1, $lat2, $lon2) {
return Math.sqrt(Math.pow(Math.abs($lat1 - $lat2) * (9 / 300000 * 1000), 2)
+ Math.pow(Math.abs($lon1 - $lon2) * (11 / 450000 * 1000), 2));
}