Mintik posted
4 year ago

Haritalarda yer işaretleme

haritalarda yer işaretleme

Bir çok websitesi ve  şirket  tarafından kulanılan Google haritalar  artık daha kullanışlı. Sazzad Houssain tarafından jQuery ve  Css3 kullanılarak hazırlanmış  olan bu örnekte  mapsı sitenizde kendi  zevkinize  göre uyarlayabilirsiniz. Yanlış anlaşılmasın  görünümü  tamamen değişmiyor. Sadece mekanınızı  harita üzerinde gösterirken Google  üzerinden herhangi bir işlem yapmıyorsunuz. Bu çalışma sayesinde şirketinizin yada  göstermek  istediğiniz  yerleri  seçip kırmızı noktalı şeklinde işaretleyebiliyorsunuz. Ayrıca mouse kırmızı noktaların üzerine geldiği anda tooltip yani bilgilendirme balonu açılıyor. Mouse üzerine geldiğinde  açılan bilgi baloncuklarının içine şirketiniz hakkında kısa açıklamalar yazabilirsiniz.

Bu  örnek üzerinde  yapacağınız  değişiklikler  sadece  kendi siteniz üzerinde göründüğü gibi  bütün internet  siteleri üzerinde  görünmüyor. Sadece  sizin ziyaretçileriniz  sizin siteniz  üzerinden görebiliyorlar.

Demo açılır açılmaz  üstten  dört  tane  kırmızı renkli ikon düşüyor. Bu ikonlar  haritada  işaretlediğiniz  yerlerin tam üstüne düşüyor. Bu ikonların görünümünü değiştirebilirsiniz isterseniz şirketinizin sembolünü de kullanabilirsiniz  bu bölümde.  O zaman haritalar üzerinde  bayrak yada ikon değilde  sizin şirketinizin sembolü  sizin şirketinizi  gösterecektir.

Bölüm ekleme kısmı biraz zor. Yeryüzünde kendi  koordinatlarınızı bilip javascript kod  içine yerleştirmeniz gerekiyor.  Yaklaşık bir  sene önce  buna benzer  bir konu yayınlamıştım. Yanlışlıkla  ftp dizinindeki dosyaların tamamını  silerken yazıda malesef  uçup gitti. Bahsettiğim yazıda  Türkiye’nin farklı farklı bölgelerini haritalar  üzerinde  ekleyip anlatmıştım. Baya zor bir  durumdu. Örnek bir koordinat :  40.704686,-74.011602

Haritalar üzerinde  belirlediğiniz koordinatlara  özel  başlıklar ve  açıklamaların yanında resim de ekleyebilirsiniz. Tek yapmanız  gereken resim kodunu  javascript kodların içine yerleştirmek. Nereye  yerleştireceğinizi tam olarak bilmiyorsanız  en kolayından <small> /small>  etiketleri  arasına ekleyebilirsiniz.

Kullanım

  • Head etiketleri arasına eklemeniz gereken bölümler.

Js dosya adresleri : 

<script language="Javascript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true"></script>

 JavaScript : 

	<script type="text/javascript">

		/*
		Global
		*/
		var map;

		function initialize() {

			/*
			Basic Setup
			*/

			var latLng = new google.maps.LatLng(40.704686,-74.011602);

	    	var myOptions = {
				panControl: true,
				zoomControl: false,
				mapTypeControl: false,
				scaleControl: false,
				streetViewControl: false,
				overviewMapControl: false,
				draggable: true,
				disableDoubleClickZoom: true,     //disable zooming
				scrollwheel: false,
	      		zoom: 18,
	      		center: latLng,
	      		mapTypeId: google.maps.MapTypeId.ROADMAP //   ROADMAP; SATELLITE; HYBRID; TERRAIN;
			};

			map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

			/*
			MARKER
			*/

			//for custom image
			var image = 'https://png-1.findicons.com/files/icons/2582/koloria/17/pin.png';

			var markerlatlng = new google.maps.LatLng(40.704686,-74.011602);

			var locations = [
				['Bondi <strong>Beach</strong><br /><small>Something Awesome Here</small>', 40.703686,-74.011602, 4],
      	['Coogee Beach<br /><small>House of Alex</small>', 40.704686,-74.011402, 5],
				['Cronulla Beach<br /><small>Some hip-hoppin lyrics to your wonderlust song.<br /> We can write most stuff here to make it look like <br />it says something veeerry important.</small>', 40.704986,-74.011002, 3],
      	['Manly Beach<br /><small>Jacked on Roids</small>', 40.704286,-74.012002, 2],
      	['Maroubra Beach', 40.704986,-74.011902, 1]
    	];

			var marker = new google.maps.Marker({
			    position: markerlatlng,
					icon: image,
					animation: google.maps.Animation.DROP,
			    title:"Neighborhood"
			});

			var marker, i;

    for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map,
				icon: image,
				animation: google.maps.Animation.DROP,
			  title:"Neighborhood"
      });

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }

			/*
			INFO Bubble
			*/

			myInfoWindowOptions = {
				content: '<div class="info-window-content">You can write anything you like here. You can even use <strong>heading</strong> tags here.</div>',
				maxWidth: 275
			};

			var infowindow = new google.maps.InfoWindow();

			google.maps.event.addListener(marker, 'click', function() {
				infoWindow.open(map,marker);
			});

			google.maps.event.addListener(marker, 'dragstart', function(){
				infoWindow.close();
			});

			infoWindow.open(map,marker);

		}//end initialize

		/*
		onLoad
		*/
		$(function(){
			initialize();

			$("#zo").click(function(event){
				event.preventDefault(); 
				map.setZoom( map.getZoom()-1 );
				map.setCenter(new google.maps.LatLng(40.704686,-74.011602));
			});

			$("#zi").click(function(event){
				event.preventDefault(); 
				map.setZoom( map.getZoom()+1 );
			});

			$("#gt").click(function(event){
				event.preventDefault(); 
				var lt1 = new google.maps.LatLng(-33.92, 151.25);
				//map.setZoom( 16 );
				map.panTo(lt1);
			});

		});

	</script>

 Css : 

.info-window-content {
	font-size: 14px;
	font-family: Arial, Verdana;
	font-weight: 100;
	line-height: 30px;
	width: 200px;
}

	#canvas_holder{
			position: fixed;
			top: 0px;
			left: 0px;
			width:100%; 
			height:100%;
			z-index: 0;
		}

		#map_canvas{
			width:100%;
			height:100%; 
			position: "absolute"; 
			top: 0px; 
			left: 0px; 
			overflow: "hidden";
		}

		#holder{
			background: rgba(0,0,0,0.8);
			z-index: 1000;
			position: absolute;
			right: 10px;
			top: 10px;
			color: white;
			padding: 10px;
			text-align: center;
			border-radius: 10px;
			-moz-border-radius: 10px;
			-o-border-radius: 10px;
			-webkit-border-radius: 10px;
			-ms-border-radius: 10px;
		}

		#holder a{
			color: white;
			padding: 10px;
			text-decoration: none;
		}
  •  Body etiketleri arasına eklemeniz gereken bölüm.

Html : 

	<div id="holder">
		<a href="#" id="zi">+</a>
		<a href="#" id="zo">-</a>
		<a href="#" id="gt">Marker</a>
	</div>	

	<div id="canvas_holder">
		<div id="map_canvas"></div>
	</div>

 

Mintik is curious about your thoughts. Add a comment
Did you know that members who log in don't see ads?
Sign in with E-mail