﻿var map = null;
var geocoder = null;

function initialize()  ////BASLANGICTAKI HARITA OLUSTURULUR
{     
      if (GBrowserIsCompatible()) 
      {
        map = new GMap2(document.getElementById("MyMap"));  //HARITA EKLENIYOR      
        
        map.addControl(new GSmallMapControl());  //ZOOM KONTROLU
        map.addControl(new GScaleControl());    // ALTTAKI OLCEK
        map.addControl(new GMapTypeControl());  // HARITA CESITLERI KONTROLU

        geocoder = new GClientGeocoder();
        
        map.setCenter(new GLatLng(39.10, 35.179), 6);  // HARITA MERKEZI SET EDILIYOR      
      }       
}

var geo = new GClientGeocoder();
var lat = [];
var lng = [];
var bounds = new GLatLngBounds();
var Accu = [];
var marker=[];

var miniMarker=[];
var html=[];
var precis=[];
var iwn=0;
var poet=[];
var latitude=[];
var longitude=[];
var country=[];

var icon = new GIcon();
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);

function showAddress()  //// TEXTBOXTAN GIRILEN YER ICIN ARAMA
{
    lat.length=0;

    document.getElementById("divResults").innerHTML = "<img src='images/loading.gif'/> ";
    var search = document.getElementById("txtSearch").value;

    geo.getLocations(search, function (result)
    { 
    document.getElementById("divResults").innerHTML = "";

 
    if (result.Status.code == G_GEO_SUCCESS) 
    {
      for (var i=0; i<result.Placemark.length; i++) 
      {
       var adresLast= result.Placemark[i].address;
	   
       adresLast = adresLast.replace(/,/,"  ");
       adresLast = adresLast.replace(/,/,"  ");
    
       var adresii =result.Placemark[i].address.replace(/, Turkey/,"");
    
       adresii = adresii.replace(/ /,"-");
       adresii = adresii.replace(/ /,"-");
       adresii = adresii.replace(/ /,"-");
       adresii = adresii.replace(/ /,"-");
       lat[i]=result.Placemark[i].Point.coordinates[1];
       lng[i]=result.Placemark[i].Point.coordinates[0];
       html[i]= "<font>"+(i+1) +"-</font> " + result.Placemark[i].address.replace(/, Turkey/,"");
       Accu[i] = "";
       if(result.Placemark[i].AddressDetails)
	   {
        Accu[i]=result.Placemark[i].AddressDetails.Accuracy;
       }
       precis[i]=3*html[i].split(",").length + 6;
       var point=new GLatLng(lat[i],lng[i]);
       var coords="<small> ("+lat[i]+", "+lng[i]+")</small>";

       marker[i]=new GMarker(point, {title:i+1});;
       map.addOverlay(marker[i]);
       miniMarker[i]=new GMarker(point,icon);

       bounds.extend(marker[i].getPoint());
       var addr=result.Placemark[i].address;

       if(result.Placemark[i].AddressDetails)
	   {
        var iso=result.Placemark[i].AddressDetails.Country.CountryNameCode;
		
       }
	   
       createIW(i+1,marker[i],lat[i],lng[i],addr,iso);  // BILGI BALONU OLUSTURUR
	
       document.getElementById("divResults").innerHTML +="<a href=\"javascript:showAdrByCoordinates("+lat[i]+","+lng[i]+","+precis[i]+","+i+",'"+adresLast+"');\">"+html[i]+"</a><br/>";
       //showAdrByCoordinates(36.887504,30.703134,15,0,'Antalya  Antalya  Türkiye');
      }
	  
      go(lat[0],lng[0],precis[0],0);  //// VERILEN KOORDINATA GIDER
    }
   }  ); 
};

////////////////////////

function showAddressByCityName(strSearch) //// LISTEDEKI SEHIRLER ICIN ARAMA  
{
    lat.length=0;
	document.getElementById("txtSearch").value="";
	
    var search = strSearch;

    geo.getLocations(search, function (result)
    { 
     document.getElementById("divResults").innerHTML = "";

     if (result.Status.code == G_GEO_SUCCESS) 
     {
      for (var i=0; i<result.Placemark.length; i++) 
      {
        var adresLast= result.Placemark[i].address;
        adresLast = adresLast.replace(/,/,"  ");
        adresLast = adresLast.replace(/,/,"  ");
    
        var adresii =result.Placemark[i].address.replace(/, Turkey/,"");
    
        adresii = adresii.replace(/ /,"-");
        adresii = adresii.replace(/ /,"-");
        adresii = adresii.replace(/ /,"-");
        adresii = adresii.replace(/ /,"-");
        lat[i]=result.Placemark[i].Point.coordinates[1];
        lng[i]=result.Placemark[i].Point.coordinates[0];
        html[i]= (i+1) +"&raquo; " + result.Placemark[i].address.replace(/, Turkey/,"");
        Accu[i] = "";
        if(result.Placemark[i].AddressDetails)
		{
         Accu[i]=result.Placemark[i].AddressDetails.Accuracy;
        }
        precis[i]=3*html[i].split(",").length + 6;
        var point=new GLatLng(lat[i],lng[i]);
        var coords="<small> ("+lat[i]+", "+lng[i]+")</small>";

        marker[i]=new GMarker(point, {title:i+1});;   //// YER IMI PIN OLUSTURULUYOR
        map.addOverlay(marker[i]);
        miniMarker[i]=new GMarker(point,icon);

        bounds.extend(marker[i].getPoint());
       var addr=result.Placemark[i].address;

       if(result.Placemark[i].AddressDetails)
	   {
        var iso=result.Placemark[i].AddressDetails.Country.CountryNameCode;
       }
	   
       createIW(i+1,marker[i],lat[i],lng[i],addr,iso);  // BILGI BALONU
    } //FOR
	
    go(lat[0],lng[0],precis[0],0);
	//BindCityInfo(strSearch);
   } //IF
 } );
};

function go(lat,lng,zoom,num) /////HARITA GELEN KOORDINATLARA GECER
{
    map.setZoom(zoom);
    map.panTo(new GLatLng(lat,lng));
    GEvent.trigger(marker[num],"click");
}

function createIW(name,pin,lati,longi,addr,iso)  //// BILGI BALONU OLUSTURUR
{
    GEvent.addListener(pin, "click", function() 
	{
     poet[iwn]=addr;
     addr = addr.replace(/, Turkey/,"");
     latitude[iwn]=lati;
     longitude[iwn]=longi;
     country[iwn]=iso || "??";
     var yakina = "<a href=javascript:DoZoomIn();>Yakınlaştır</a>"
     var uzaga = "<a href=javascript:DoZoomOut();>Uzaklaştır</a>"
     var button="<input type='button' value='Memo' onclick='memo("+iwn+")'>";
	//// BASKA BILGILER GOSTERILEBILINIR     
     pin.openInfoWindowHtml(addr+"<br /><br />"+lati+" ,"+longi+"<br /><br />"+yakina+"&nbsp;|&nbsp;"+ uzaga);
    } )
};
 
 
function showAdrByCoordinates (lat,lng,zoom,num,adi)  //ARAMA SONUCUNDA CIKAN SEHIRLER ICIN KOORDINATLI ARAMA 
{
   if (GBrowserIsCompatible()) 
   {
        map = new GMap2(document.getElementById("MyMap"));        
        
        map.addControl(new GSmallMapControl());
        map.addControl(new GScaleControl());
        map.addControl(new GMapTypeControl());
      
        geocoder = new GClientGeocoder();
        
        map.setCenter(new GLatLng(lat, lng), zoom+1);
        
        var yakina ="<br /><br />"+lat+" ,"+lng+"<br /><br /><a href=javascript:DoZoomIn();>Yakınlaştır</a>"
        var uzaga = "<a href=javascript:DoZoomOut();>Uzaklaştır</a>"

       
        var pointb = new GLatLng(lat, lng);
        var htmlb = adi + yakina + "&nbsp;|&nbsp;"+ uzaga  ;
        makeMarker(pointb,htmlb);
       
        map.openInfoWindowHtml(map.getCenter(), adi + yakina + "&nbsp;|&nbsp;"+ uzaga );
   }
}
    
function makeMarker(point,html) // YER PINI OLUSTURULUYOR
{
    var markerb = new GMarker(point);
    GEvent.addListener(markerb, "click", function() 
    {
      markerb.openInfoWindowHtml(html);
    } );
        
    map.addOverlay(markerb);
    GEvent.trigger(markerb, "click"); 
}
	  
function NormalHaritaGoster() 
{
  map.setMapType(G_NORMAL_MAP);
}

function UyduHaritaGoster() 
{
  map.setMapType(G_SATELLITE_MAP);
}

function HibridHaritaGoster() {
map.setMapType(G_HYBRID_MAP);
}
function FizikiHaritaGoster() 
{
  map.setMapType(G_PHYSICAL_MAP);
}

function DoZoomIn()
{
  map.zoomIn();map.zoomIn();
}

function DoZoomOut()
{
  map.zoomOut();map.zoomOut();map.zoomOut();
}

function BindCityInfo(strCityName)
{
document.getElementById("divCityInfo").innerText = "";
document.getElementById("divCityInfo").innerText= strCityName;

}
 








