• 09-04-2014, 22:54:34
    #1
    Üyeliği durduruldu
    Merhaba Arkadaşlar,

    Bir Projemde Kullanmak üzere Google Maps Haritaları ile bir sistem geliştiriyorum fakat bir yerde takılıyorum.

    şimdi kısaca olayı anlatayım.

    maps haritamız açılacak ve marker drop olarak işleme başlayacak.
    bu sistem siteye gelen ziyaretçileri takip etmek için kullanacağımız bir sistem.
    siteye her giren ziyaretçimizi marker drop olarak sayfa yenilemeden işleme alacak ve yani diyelim harita üzerinden 100 marker var ken sayfa yenilemeden 101 marker ekranda belirecek.. bunu halledemedim..
  • 10-04-2014, 03:45:02
    #2
    Hocam doğru anladıysam konu aslında map apisi değil, daha çok anlık veri ile ilgili. 100 marker'i ekleyen 101'i neden ekleyemesin ki

    Alternatifler kısıtlı. Ya klasik yöntem belli aralıklarla ajax isteği yapılcak, ya da benim de üstünde kafa yorduğum nodejs için biraz kafa yorcaksınız.

    İyi çalışmalar.
  • 10-04-2014, 10:38:14
    #3
    Üyeliği durduruldu
    dark_way adlı üyeden alıntı: mesajı görüntüle
    Hocam doğru anladıysam konu aslında map apisi değil, daha çok anlık veri ile ilgili. 100 marker'i ekleyen 101'i neden ekleyemesin ki

    Alternatifler kısıtlı. Ya klasik yöntem belli aralıklarla ajax isteği yapılcak, ya da benim de üstünde kafa yorduğum nodejs için biraz kafa yorcaksınız.

    İyi çalışmalar.
    Merhaba Arkadaşlar,

    Cevap için Teşekkür ederim. fakat 100 taneyi ekleyen 101 ekleyebilir düşüncesi tutmamış

    diyelim online tablomuzda 100 kayıt var bu kayıtlar sayfayı açtığımızda harita üzerine pıtır pıtır beliriyor buraya kadar tamamda. bundan sonra gelecek online ziyaretçi sayfayı yenilemeden görmek lazım..

    burada ajax ın geri planda post metodu ile veriyi çekeyim dedim bu sefer ajax nereye yerleştirilecek

    nodejs güzel bir sisteme benziyor ama herkes buna ulaşamaz ki? genel kullanıma açık yani pratik birşeyler olması lazım.. gerçi bu tür tarayıcı taraflı çalışan uygulamalar pc yi bir süre sonra kasmaya başlıyor ama. bir çağresi vardır mutlaka..
  • 10-04-2014, 12:19:21
    #4
    Hocam marker ekleme fonksiyonunuz şöyle farzedelim;

    var markers = [];
    function markerEkle(position, map) {
    	var marker = new google.maps.Marker({
    		position: position,
    		map: map
    	});
    	markers.push(marker);
    	map.panTo(position);
    }
    Burda marker eklerken tıklamaya bağlı olarak ekleniyosa şu şekilde zaten ekleyebilmektesiniz; (kendi sisteminizdeki ekleme fonksiyonuyla kıyas için örnek)

    google.maps.event.addListener(map, 'click', function(e) {
    	markerEkle(e.latLng, map);
    });
    Ajaxla da isteği şöyle yaptık farzedelim:
    $.ajax({
    	type:'post',url:'xxx.php':data:{ gonderilen_deger1: deger1 }
    }).done(function(e){
    	
    }).fail(function(){ alert("Bir hata oluştu.") });
    gonderilen_deger1 değişkeni son markeri eklenmiş olan son üyenin giriş yaptığı zamanı temsil ediyor olsun ve ajaxa bu zamandan sonra giriş yapanlar varsa bunlar cevap olarak dönsün.

    Burda veriyi ekrana basmanın birçok yolu var nasıl yazdığınız bilmiyorum ama bir üyeye ait konum bilgilerinin 39.564654x35.5464 şekilnde ajaxa cevap olarak döndğüğünü farzedelim ve bu datadaki "x"; "lat" ve "lng" yi ayırmak için kullanılan bi ayraç farzedelim. Şimdi ajax fonksiyonumuz şöyle oldu:
    $.ajax({
    	type:'post',url:'xxx.php':data:{ gonderilen_deger1: deger1 }
    }).done(function(e){ /* e'de x ile ayrılmış bir üyenin konum bilgileri var */
    	var konum = e.split("x"); /* 2 elemanlı dizi oluştu */
    	var yeniMarker = { "lat":konum[0], "lng":konum[1] }; /* markerEkle fonksiyonuna uygun hale getirdik */
    	markerEkle(yeniMarker, map); /* marker haritaya eklendi */
    }).fail(function(){ alert("Bir hata oluştu.") });
    Sorunu doğru anladıysam cevap böyle bişey olcak sanırım. İyi çalışmalar.
    .
    .
    Denenmedi. Noktalama yanlışları olabilir.
  • 10-04-2014, 13:19:17
    #5
    Üyeliği durduruldu
    dark_way adlı üyeden alıntı: mesajı görüntüle
    Hocam marker ekleme fonksiyonunuz şöyle farzedelim;

    var markers = [];
    function markerEkle(position, map) {
    	var marker = new google.maps.Marker({
    		position: position,
    		map: map
    	});
    	markers.push(marker);
    	map.panTo(position);
    }
    Burda marker eklerken tıklamaya bağlı olarak ekleniyosa şu şekilde zaten ekleyebilmektesiniz; (kendi sisteminizdeki ekleme fonksiyonuyla kıyas için örnek)

    google.maps.event.addListener(map, 'click', function(e) {
    	markerEkle(e.latLng, map);
    });
    Ajaxla da isteği şöyle yaptık farzedelim:
    $.ajax({
    	type:'post',url:'xxx.php':data:{ gonderilen_deger1: deger1 }
    }).done(function(e){
    	
    }).fail(function(){ alert("Bir hata oluştu.") });
    gonderilen_deger1 değişkeni son markeri eklenmiş olan son üyenin giriş yaptığı zamanı temsil ediyor olsun ve ajaxa bu zamandan sonra giriş yapanlar varsa bunlar cevap olarak dönsün.

    Burda veriyi ekrana basmanın birçok yolu var nasıl yazdığınız bilmiyorum ama bir üyeye ait konum bilgilerinin 39.564654x35.5464 şekilnde ajaxa cevap olarak döndğüğünü farzedelim ve bu datadaki "x"; "lat" ve "lng" yi ayırmak için kullanılan bi ayraç farzedelim. Şimdi ajax fonksiyonumuz şöyle oldu:
    $.ajax({
    	type:'post',url:'xxx.php':data:{ gonderilen_deger1: deger1 }
    }).done(function(e){ /* e'de x ile ayrılmış bir üyenin konum bilgileri var */
    	var konum = e.split("x"); /* 2 elemanlı dizi oluştu */
    	var yeniMarker = { "lat":konum[0], "lng":konum[1] }; /* markerEkle fonksiyonuna uygun hale getirdik */
    	markerEkle(yeniMarker, map); /* marker haritaya eklendi */
    }).fail(function(){ alert("Bir hata oluştu.") });
    Sorunu doğru anladıysam cevap böyle bişey olcak sanırım. İyi çalışmalar.
    .
    .
    Denenmedi. Noktalama yanlışları olabilir.
    Merhaba Arkadaşlar,

    paylaşım için teşekkür ederim. Noktalamalar sorun değil düzeltirim müsait olunca ilk işim denemek olacak..
  • 10-04-2014, 14:12:47
    #6
    Pardon hocam yazdığım kodda bi hata var. Marker konumu json şeklinde sanıyodum da değilmiş. Buraya yazdıktan sonra kendi sistemimde de bi değişiklik yapayım dedim ama markeri json şeklinde belirlediğim konum bilgileriyle ekleyemedim.

    Yani şu kısım yanlış olmuş;
    var yeniMarker = { "lat":konum[0], "lng":konum[1] };
    Bunu şu şekilde değiştirmeniz gerek:
    var yeniMarker = new google.maps.LatLng( konum[0], konum[1] );
    Ajax isteğinizin de ana api fonksiyonu içinde olması lazım. Varolan konumu haritada işaretlemek için benim kullandığım js kodunu görsel olarak ekliyorum. Sanırım bu şekilde yeterli olcaktır.



    Konum bilgilerini jsye verdiğim php dosyasında da ilgili yerler aşağıda işaretli.