﻿var MarkDistance=[]
var MarkOverDistance=[]
var IndexMarkDistance=0
var DistanceLatLngs=[]
var maxNumDistancepoints=10
function clearRoute(){
var i=0
for(i=MarkDistance.length-1;i>=0;i--){
G_Map.removeOverlay(MarkDistance[i])
if(MarkOverDistance[i]!=-1)
MarkOverDistance[i].show()}
G_Dir.clear()
MarkDistance=[]
MarkOverDistance=[]
DistanceLatLngs=[]
IndexMarkDistance=0
document.getElementById('distance').innerHTML='0.0'}
DoMarkDistInMap=function(overlay,point){
var i=DistanceLatLngs.length
if(i<maxNumDistancepoints){
show_hideLigthBoxMsg('lBMsg',true)
if(overlay!=null){
overlay.hide()
MarkOverDistance[i]=overlay
DistanceLatLngs[i]=overlay.getPoint()}
else{
MarkOverDistance[i]=-1
DistanceLatLngs[i]=point}
if(DistanceLatLngs.length==1){
var startIcon=new GIcon(G_DEFAULT_ICON)
startIcon.image="http://maps.google.com/intl/en_ALL/mapfiles/icon_greenA.png"
startIcon.mozPrintImage="http://maps.google.com/intl/en_ALL/mapfiles/marker_greenAff.gif"
startIcon.printImage="http://maps.google.com/intl/en_ALL/mapfiles/marker_greenAie.gif"
MarkDistance[0]=new GMarker(DistanceLatLngs[0],{icon:startIcon,title:MarkOverDistance[0].getTitle(),clickable:false})
G_Map.addOverlay(MarkDistance[0])
show_hideLigthBoxMsg('lBMsg',false)}
doDisplayRouteDist()}
else alert('The maximum distance points is 10.')}
function doDisplayRouteDist(){
if(DistanceLatLngs.length>1)
{show_hideLigthBoxMsg('lBMsg',true)
var points=[]
for(var i=0;i<DistanceLatLngs.length;i++)
points[i]=DistanceLatLngs[i]
G_Dir.loadFromWaypoints(points,{preserveViewport:true})}}
var _eventDoMarkInMap=null
function AddEventToDistance(){
_eventDoMarkInMap=GEvent.addListener(G_Map,"click",DoMarkDistInMap)}
function RemoveEventToDistance(){
if(_eventDoMarkInMap!=null)
GEvent.removeListener(_eventDoMarkInMap)}
function onGDir_AddOverlayDist(){
var dGeocode
var dRoute
var dMarker
var dIcon
var dLenght=G_Dir.getNumRoutes()
var dTitle
for(var i=0;i<MarkDistance.length;i++)
G_Map.removeOverlay(MarkDistance[i])
for(var i=0;i<dLenght;i++){
dRoute=G_Dir.getRoute(i)
dGeocode=dRoute.getStartGeocode()
dMarker=G_Dir.getMarker(i)
DistanceLatLngs[i]=dMarker.getLatLng()
dIcon=dMarker.getIcon()
dTitle=(MarkOverDistance[i]==-1)? dGeocode.address : MarkOverDistance[i].getTitle()
MarkDistance[i]=new GMarker(DistanceLatLngs[i],{icon:dIcon,title:dTitle,clickable:false})
G_Map.addOverlay(MarkDistance[i])}
i=dLenght
dMarker=G_Dir.getMarker(i)
dIcon=dMarker.getIcon()
dGeocode=dRoute.getEndGeocode()
DistanceLatLngs[i]=dMarker.getLatLng()
dTitle=(MarkOverDistance[i]==-1)? dGeocode.address : MarkOverDistance[i].getTitle()
MarkDistance[i]=new GMarker(DistanceLatLngs[i],{icon:dIcon,title:dTitle,clickable:false})
G_Map.addOverlay(MarkDistance[i])
document.getElementById('distance').innerHTML=G_Dir.getDistance().html.replace('&nbsp;mi','').replace(',','.')
if(labelUnit=='Km')convertDistance('Km',true)
show_hideLigthBoxMsg('lBMsg',false)
function copyClick(newMarker,oldMarker){
GEvent.addListener(newMarker,'click',function(){
GEvent.trigger(oldMarker,'click')
})}}
labelUnit='Mi'
function convertDistance(unit,force)
{if(labelUnit!=unit || force==true){
var distance=parseFloat(document.getElementById('distance').innerHTML)
if(unit=='Mi')
distance=distance/1.609344
else
distance=distance*1.609344
document.getElementById('distance').innerHTML=distance.toFixed(3)
document.getElementById('units').innerHTML=unit
labelUnit=unit}}
function removeLastPoint(){
var i=MarkDistance.length-1
if(i>=0&&MarkOverDistance[i]!=-1)
MarkOverDistance[i].show()
if(i>1){
G_Map.removeOverlay(MarkDistance[i])
MarkDistance.splice(i,1)
DistanceLatLngs.splice(i,1)
doDisplayRouteDist()
convertDistance(labelUnit,true)}
else if(i==1){
G_Map.removeOverlay(MarkDistance[1])
MarkDistance.splice(1,1)
DistanceLatLngs.splice(1,1)
G_Dir.clear()
document.getElementById('distance').innerHTML='0.0'}
else if(i==0){
G_Map.removeOverlay(MarkDistance[0])
MarkDistance=[]
DistanceLatLngs=[]}}