mapDiv=document.getElementById('map');function getWindowSize(){var e=new Object();if(window.self&&self.innerWidth){e.width=self.innerWidth;e.height=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){e.width=document.documentElement.clientWidth;e.height=document.documentElement.clientHeight;}else{e.width=document.body.clientWidth;e.height=document.body.clientHeight;}return e;};function setMapDivSize(){ms=getWindowSize();if(hosted)mapDiv.style.height=(ms.height)+'px';else mapDiv.style.height=(ms.height-150)+'px';};setMapDivSize();window.onresize=function(){setMapDivSize();alignMsgDiv();};map=new GMap2(mapDiv);zoomError='Bu bölge için bu ölçekte harita bulunmamaktadır. <br/><br/>Lütfen uzaklaşarak daha geniş bir alan görüntülemeyi deneyin.\n';KH_0=new GMapType(G_NORMAL_MAP.getTileLayers(),G_NORMAL_MAP.getProjection(),'harita',{errorMessage:zoomError});map.addMapType(KH_0);map.removeMapType(G_NORMAL_MAP);KH_1=new GMapType(G_SATELLITE_MAP.getTileLayers(),G_SATELLITE_MAP.getProjection(),'uydu',{errorMessage:zoomError});map.addMapType(KH_1);map.removeMapType(G_SATELLITE_MAP);KH_2=new GMapType(G_HYBRID_MAP.getTileLayers(),G_HYBRID_MAP.getProjection(),'hibrit',{errorMessage:zoomError});map.addMapType(KH_2);map.removeMapType(G_HYBRID_MAP);msgDiv=document.createElement('div');msgDiv.style.cssText='width:200px; text-align: center; background-color: #ffe; padding: 2em; opacity: .85; border:1px solid #000; display:none';mapDiv.appendChild(msgDiv);msgInitializing='Harita yükleniyor ...<br><img src=../img/spinner.gif>';msgLoading='İşaretler yükleniyor ...<br><img src=../img/spinner.gif>';msgError='Bir hata oluştu!<br>Lütfen tekrar deneyin...';msgAddingMarker='İşaret ekleniyor ...<br><img src=../img/spinner.gif>';msgRemovingMarker='İşaret siliniyor ...<br><img src=../img/spinner.gif>';msgLoginRequired='Giriş yapmanız gerekiyor.<br/>[ <a href="/login.php?url=/harita/?id='+mapid+'">üye girişi</a> ] &nbsp; [ <a href="#" onclick="msgSet(\'\');">iptal</a> ]';function alignMsgDiv(){var msgPos=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize((map.getSize().width/2)-100,(map.getSize().height/2)));msgPos.apply(msgDiv);};function msgSet(m){if(m=='')msgDiv.style.display='none';else{msgDiv.innerHTML=m;msgDiv.style.display='block';}};alignMsgDiv();function showData(){var bounds=map.getBounds();var newCenter=map.getCenter();var dist=.4*bounds.toSpan().lng();if((Math.sqrt(Math.pow(lastShownCenter.lat()-newCenter.lat(),2)+Math.pow(lastShownCenter.lng()-newCenter.lng(),2))<dist)&&(lastShownZoom==map.getZoom())){return;}msgSet(msgLoading);map.closeInfoWindow();lastShownCenter=map.getCenter();lastShownZoom=map.getZoom();var minx= -180;var maxx=180;var miny= -90;var maxy=90;if(map.getZoom()>1&&bounds.isFullLat()==false){miny=bounds.getSouthWest().lat();maxy=bounds.getNorthEast().lat();}if(map.getZoom()>1&&bounds.isFullLng()==false){minx=bounds.getSouthWest().lng();maxx=bounds.getNorthEast().lng();}var downloadFile='/harita/data.php?id='+mapid+'&r='+maxx+'&l='+minx+'&t='+maxy+'&b='+miny+'&z='+map.getZoom();GDownloadUrl(downloadFile,function(data,responseCode){if(responseCode==200){var marker;var wmMarkersLength=wmMarkers.length;var xmlDoc=GXml.parse(data);if(!xmlDoc){msgSet(msgError);return;}var markers=xmlDoc.documentElement.getElementsByTagName("marker");for(var i=0;i<markers.length;i++){var point=new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lng")));var icon=markerIcon[markers[i].getAttribute("type")];var owner=markers[i].getAttribute("user");var img=markers[i].getAttribute("img");var hreftag=markers[i].getElementsByTagName("href");var href=GXml.value(hreftag[0]);var titletag=markers[i].getElementsByTagName("title");var title=GXml.value(titletag[0]);var texttag=markers[i].getElementsByTagName("text");var text=GXml.value(texttag[0]);marker=new createMarker(point,parseFloat(markers[i].getAttribute("id")),icon,title,text,href,img,owner);map.addOverlay(marker);wmMarkers.push(marker);}var clusters=xmlDoc.documentElement.getElementsByTagName("cluster");for(var i=0;i<clusters.length;i++){var minx=parseFloat(clusters[i].getAttribute("l"));var maxx=parseFloat(clusters[i].getAttribute("r"));var miny=parseFloat(clusters[i].getAttribute("b"));var maxy=parseFloat(clusters[i].getAttribute("t"));var clustSize=parseFloat(clusters[i].getAttribute("c"));var cluster=parseFloat(clusters[i].getAttribute("id"));var titletag=clusters[i].getElementsByTagName("title");var itemList=GXml.value(titletag[0]);var clustClr=cluster;while(clustClr>borderClrs.length){clustClr=clustClr-colors.length;}var rectBounds=new GLatLngBounds(new GLatLng(miny,minx),new GLatLng(maxy,maxx));var rect=new Rectangle(rectBounds,borderClrs[clustClr]);map.addOverlay(rect);wmMarkers.push(rect);var ids=clusters[i].getAttribute("ids");var point=new GPoint(minx+(maxx-minx)/2,miny+(maxy-miny)/2);marker=createCluster(point,cluster,ids,clustSize,rectBounds,itemList);map.addOverlay(marker);wmMarkers.push(marker);}for(var cnt=1;cnt<=wmMarkersLength;cnt++){marker=wmMarkers.shift();map.removeOverlay(marker);}msgSet('');lastShownCenter=map.getCenter();lastShownZoom=map.getZoom();}else{msgSet(msgError);}});};function createMarker(point,id,icon,title,text,href,img,owner){var rectBounds=new GLatLngBounds(new GLatLng(point.y-0.05,point.x-0.05),new GLatLng(point.y+0.05,point.x+0.05));if(owner==user||mapuser=='a'){var marker=new GMarker(point,{icon:icon,title:title,draggable:true});GEvent.addListener(marker,'dragend',function(){if(confirm('İşaretin yerini değiştirmek istediğinizden emin misiniz?')){url='updatecoords.php?id='+id+'&lat='+marker.getPoint().lat()+'&lng='+marker.getPoint().lng();GDownloadUrl(url,function(data,responseCode){if(responseCode==200){if(data=='1')alert('Yeni koordinatlar kaydedildi.');else alert('Üye olarak giriş yapmanız gerekiyor.');}});}else{marker.setPoint(point)}});GEvent.addListener(marker,'dragstart',function(){map.closeInfoWindow();});}else{var marker=new GMarker(point,{icon:icon,title:title});}var html='<strong>'+title+'</strong><br/>'+text;if(img!=''){if(href)html+='<a target="_blank" href="'+unescape(href)+'">';html+='<img align=left border="1" src="/foto/'+mapid+'/'+id+'.jpg">';if(href)html+='</a>';}html=html+'<br/>';if(href)html=html+'[ <a target="_blank" href="'+unescape(href)+'">link</a> ] ';html=html+'[ <a href="javascript:zoom('+rectBounds.getSouthWest().lng()+','+rectBounds.getNorthEast().lng()+','+rectBounds.getSouthWest().lat()+','+rectBounds.getNorthEast().lat()+')">zoom</a> ]<br/>';if(mapuser=='a'||user==owner){html=html+'<font size=-2>işareti: [ <a onclick="deleteMarker('+id+'); return false;"> sil </a> ] '+' [ <a onclick="document.location=\'editmarker.php?id='+id+'\';"> detaylar </a> ]</font>';}GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(html);});marker.id=id;return marker;};function createCluster(point,cluster,ids,size,rectBounds,itemList){var newIcon=new GIcon(c_icon);newIcon.image="/harita/clusterimg.php?c="+size;var marker=new GMarker(point,newIcon);GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(itemList+'<br/>[ <a href=\"javascript:zoom('+rectBounds.getSouthWest().lng()+','+rectBounds.getNorthEast().lng()+','+rectBounds.getSouthWest().lat()+','+rectBounds.getNorthEast().lat()+')\">zoom</a> ]');});marker.id=0;return marker;};var lastClick=new Date();function isDoubleClick(){var now=new Date();var diff=now.getTime()-lastClick.getTime();lastClick=now;return(diff<500);};GEvent.addListener(map,'click',function(overlay,point){if(isDoubleClick()){map.closeInfoWindow();}else if(!overlay&&mapuser!=''){var msg='<strong>İşaretle</strong><form>'+'<table><tr><td>işaret adı</td><td><input id=newMarkerTitle onKeyPress="if(event.keyCode==13) return false;"></td></tr>'+'<tr><td>işaret tipi</td><td align=left>'+newMarkerSelect+'</td></tr>'+'<tr><td align=center colspan=2><input type=button value=ekle '+'onclick="addMarker('+point.lat()+', '+point.lng()+', '+'document.getElementById(\'newMarkerTitle\').value, '+'document.getElementById(\'newMarkerType\').options[document.getElementById(\'newMarkerType\').selectedIndex].value);'+'isMarkerFormOpen=false;"'+'></td></tr></table></form>';map.openInfoWindowHtml(point,msg);}});function addMarker(lat,lng,title,type){msgSet(msgAddingMarker);url='addmarker.php?map='+mapid+'&lat='+lat+'&lng='+lng+'&type='+type+'&t='+title+'&z='+map.getZoom()+'&mt='+map.getCurrentMapType().getName(true);GDownloadUrl(url,function(data,responseCode){if(responseCode==200){if(data=='0'){map.closeInfoWindow();msgSet(msgLoginRequired);}else{map.closeInfoWindow();marker=createMarker(new GLatLng(lat,lng),data,markerIcon[type],title,'','','',user);map.addOverlay(marker);wmMarkers.push(marker);if(!hosted){menuIsaretler=document.getElementById('isaretler');menuIsaretler.innerHTML+='<table width=100% id=menu_isaret_'+data+'><tr><td width=20><img src=\"'+markerIcon[type].image+'\"></td>'+'<td><a href="#" onclick="zoom('+(lng-0.05)+', '+(lng+0.05)+', '+(lat-0.05)+', '+(lat+0.05)+');" '+'title="'+title+'">'+title+'</a></td></tr></table>';}msgSet('');}}});};function deleteMarker(id){msgSet(msgRemovingMarker);url='deletemarker.php?id='+id;GDownloadUrl(url,function(data,responseCode){if(responseCode==200){if(data=='1'){map.closeInfoWindow();for(var i=0;i<wmMarkers.length;i++){if(wmMarkers[i].id==id){map.removeOverlay(wmMarkers[i]);wmMarkers.splice(i,1);if(!hosted){menuIsaretler=document.getElementById('isaretler');menuIsaret=document.getElementById('menu_isaret_'+id);menuIsaretler.removeChild(menuIsaret);}break;}}msgSet('');}else{msgSet(msgLoginRequired);}}});};_mZoomIn='yakınlaş';_mZoomOut='uzaklaş';_mPanWest='sola';_mPanEast='sağa';_mPanNorth='yukarıya';_mPanSouth='aşağıya';_mNew='yeni!';_mTerms='kullanım şartları';_mTermsURL='/tos/';_mZoomSet='yakınlığı ayarla';_mLastResult='son noktaya geri dön';_mZoomDrag='zoom seviyesini ayarla';_mZoomSet='zoom seviyesini ayarla';_mScale='ortala';var map;var colors;var borderClrs;var wmMarkers=new Array();var lastShownCenter=new GLatLng(0,0);var lastShownZoom=0;var addPointModus;addPointModus=0;colors=new Array();colors[0]='red';colors[1]='green';colors[2]='blue';colors[3]='orange';colors[4]='purple';borderClrs=new Array();borderClrs[0]='#ffcc66';borderClrs[1]='#00ff80';borderClrs[2]='#ff66ff';borderClrs[3]='#6666ff';borderClrs[4]='#cc66ff';borderClrs[5]='#008080';borderClrs[6]='#800000';borderClrs[6]='#9933FF';GEvent.addListener(map,'moveend',showData);GEvent.addListener(map,'zoomend',showData);var lat=document.getElementById('lat');var lng=document.getElementById('lng');function addControls(){map.addControl(new GLargeMapControl());map.addControl(new GMapTypeControl());map.addControl(new GScaleControl());map.addControl(new GOverviewMapControl(new GSize(150,150)));};var m_icon=new GIcon();m_icon.shadow="/img/m_shadow.png";m_icon.iconSize=new GSize(12,20);m_icon.shadowSize=new GSize(22,20);m_icon.iconAnchor=new GLatLng(20,6);m_icon.infoWindowAnchor=new GLatLng(1,5);var c_icon=new GIcon();c_icon.iconSize=new GSize(16,10);c_icon.iconAnchor=new GPoint(8,5);c_icon.infoWindowAnchor=new GLatLng(8,5);c_icon.shadow='';c_icon.shadowSize=GSize(0,0);var markerIcon=Array();function zoom(minx,maxx,miny,maxy){var center=new GLatLng(miny+(maxy-miny)/2,minx+(maxx-minx)/2);var oldZoomLevel=map.getZoom();var sw=new GLatLng(miny,minx);var ne=new GLatLng(maxy,maxx);var bounds=new GLatLngBounds(sw,ne);var zoomLevel=map.getBoundsZoomLevel(bounds);if(oldZoomLevel==zoomLevel)zoomLevel++;map.closeInfoWindow();map.setCenter(center,zoomLevel);};function Rectangle(bounds,opt_color,opt_weight){this.bounds_=bounds;this.weight_=opt_weight||2;this.color_=opt_color||"#888888";};Rectangle.prototype=new GOverlay();Rectangle.prototype.initialize=function(map){var div=document.createElement("div");div.style.border=this.weight_+"px solid "+this.color_;div.style.backgroundColor=this.color_;div.style.MozOpacity=".35";div.style.filter="alpha(opacity=35);";div.style.opacity=".35";div.style.position="absolute";map.getPane(G_MAP_MAP_PANE).appendChild(div);this.map_=map;this.div_=div;};Rectangle.prototype.remove=function(){this.div_.parentNode.removeChild(this.div_);};Rectangle.prototype.copy=function(){return new Rectangle(this.bounds_,this.weight_,this.color_,this.backgroundColor_,this.opacity_);};Rectangle.prototype.redraw=function(force){if(!force)return;var c1=this.map_.fromLatLngToDivPixel(this.bounds_.getSouthWest());var c2=this.map_.fromLatLngToDivPixel(this.bounds_.getNorthEast());if(c1.x>c2.x){var boundNE=this.map_.getBounds().getNorthEast();var boundNExPix=this.map_.fromLatLngToDivPixel(boundNE).x;c2.x=c1.x+(boundNExPix-c1.x)/(boundNE.lng()-this.bounds_.getSouthWest().lng())*(this.bounds_.getNorthEast().lng()-this.bounds_.getSouthWest().lng());}this.div_.style.width=Math.abs(c2.x-c1.x)+"px";this.div_.style.height=Math.abs(c2.y-c1.y)+"px";this.div_.style.left=(Math.min(c2.x,c1.x)-this.weight_)+"px";this.div_.style.top=(Math.min(c2.y,c1.y)-this.weight_)+"px";}
