Monday, May 17, 2010

Alasan Nak Balik Awal

copy & paste dari internet...

--------------------------------------------

Alasan Nak Balik Awal

Seorang Boss entah macam mana mood dia memang baik sungguh pada suatu hari tu. Sesiapa yang nak minta balik 5 jam lebih awal hari ni dia bagi.

Tapi alasannya hanya satu jer boleh guna.

Haaaa!! Alasannya mestilah pasal sembahyang SAHAJA! Tau-tau macam tu ader 4 orang pekerja bawahan datang berjumpa dengan Boss ni;

Mula-mula seorang kerani biasa;
Kerani : Boss, buleh saya pulang awal? Saya balik nak solat kat rumah boss, leh tak?
Boss : Tak boleh!!! Kat sini kan ader surau, sembahyang jemaah lagi lagi banyak pahalanya!

Kemudian, datang pula seorang supervisor;
Supervisor : Saya bulih balik awai kut Boss?
Boss : Hang apa pasai??
Supervisor : Saya nak balik tengok anak saya sembahyang Zohor ke tak? Ntah-ntah dia ponteng…
Boss : Tak boleh balik, hang telefon saja bini hang suruh dia tengok!

Pengurus Syarikat pula mencuba nasib;
Pengurus : Boss!
Boss : Ha, pasal pulak ni?! Nak balik awal gak ker?
Pengurus : Errrrr!! Yer boss! Boss baik!! He!He!He!
Boss : Alasan apa lak ngko nie?
Pengurus : Saya nak balik sembahyang orang mati… Ada orang kampung saya ninggal pagi tadi, nak sembahyang jenazah…! Boleh kut boss yer pulang awal?
Boss : Tak bolehhh!!! Itu Fardhu Kifayah jer! Orang kampung lain yang ramai tu boleh sembahyangkan. Doa kat sini pun boleh!! Dah! Pergi buat kerja!

Tiba pula giliran Mat Peon;
Mat Peon : Boss! Saya nak balik awal boleh tak?
Boss : Naper?
Mat Peon : Isteri saya telefon, dia kater dia dah boleh sembahyang!
Boss : Yer ker??? Ha! Kalu gitu awak baliklah…Kesian awak dah seminggu nunggu!!!
Mat Peon : Ima Acih Boss!!! Wahahahahahahah!!

--------------------------------------------

larikkkkkkkkkkkkkkkkkkkkkk...........

Google MAP API | Map search within Radius

Post sebelum ni aku ada postkan mysql statement utk query MySQL utk mendapatkan lat &long didalam radius yg kita perlukan.

post ini pula aku sertakan keratan javascript function utk draw radius layer on top of google map.

here's the code:

html:

Find Within Radius The circle drawn here is a circle on the surface of the Earth.

Radius: Miles Kilometers

Javascript:

function drawCircle() {
 var oUnitsMI = document.searchMap.unitsMI;
 var oUnitsKM = document.searchMap.unitsKM;
 var oRadius = document.searchMap.radiusInput;
 oRadius.value = oRadius.value ? oRadius.value : 500;
 
 
 //alert(oRadius.value);
 //circleRadius = oRadius.value;
 if (oRadius.value == '') {
  alert("Enter a number for radius");
  return;
 }
 circleRadius = parseFloat(oRadius.value);
 
 if (circleRadius > 9999) {
  alert("To Large");
  return;
 }
 
 
 if (oUnitsKM.checked) {
  circleUnits = 'KM';
 }
 else {
  circleUnits = 'MI';
 }
 
 doDrawCircle();
 
 //optional features, calling ajax if select in radius checked. uncheck to suite your ajax function
 //if(document.searchMap.inradius.checked){
  // var center = map.getCenter();
 //  var urls = '?action=search¢er=' + center + "&radius=" + circleRadius + "&unit=" + circleUnits;
 //  ajaxpage(urls,'searchcontainer'); 
 //}
}
 
 
function doDrawCircle(){
 
 if (circle) {
  map.removeOverlay(circle);
 }
 
 
 if (centerMarker) {
  map.setCenter(centerMarker.getLatLng())
 }
 else {
  centerMarker = new GMarker(map.getCenter(),{draggable:true});
  GEvent.addListener(centerMarker,'dragend',drawCircle)
  map.addOverlay(centerMarker);
 }
 
 var center = map.getCenter();
 
 var bounds = new GLatLngBounds();
 
 
 var circlePoints = Array();
 
 with (Math) {
  if (circleUnits == 'KM') {
   var d = circleRadius/6378.8; // radians
  }
  else { //miles
   var d = circleRadius/3963.189; // radians
  }
 
  var lat1 = (PI/180)* center.lat(); // radians
  var lng1 = (PI/180)* center.lng(); // radians
 
  for (var a = 0 ; a < 361 ; a++ ) {
   var tc = (PI/180)*a;
   var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));
   var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));
   var x = ((lng1-dlng+PI) % (2*PI)) - PI ; // MOD function
   var point = new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));
   circlePoints.push(point);
   bounds.extend(point);
  }
 
  if (d < 1.5678565720686044) {
   circle = new GPolygon(circlePoints, '#00BE00', 1, 1, '#3EFF3E', 0.25); 
  }
  else {
   circle = new GPolygon(circlePoints, '#00BE00', 1, 1); 
  }
  map.addOverlay(circle); 
 
  map.setZoom(map.getBoundsZoomLevel(bounds));
  
  
 }
}

kalau diperhatikan di penghujung function drawCircle ada line yg aku comment kan. line berkaitan adalah tambahan utk memanggil function ajax utk retrive data dr mysql ber dasarkan radius circle yg kita draw di atas map.

happy coding.

Saturday, May 15, 2010

Google MAP API | MySQL search within Radius

boleh mengunakan sql kod dibawah utk mencari lokasi mengunakan lat & long didalam databse mysql.

SELECT 
 *, 
 ( 
  3963.189  
   * 
  acos( 
   cos( radians($center_lat) ) * 
   cos( radians( field_lat ) ) * 
   cos( 
    radians( field_long ) - radians($center_long) 
   ) + 
   sin( radians($center_lat) ) * 
   sin( radians( field_lat ) ) 
  ) 
 ) AS distance 
FROM 
 table 
HAVING 
 distance < $radius
ORDER BY 
 distance

cuma kod ini agak lambat skit sebab mengunakan HAVING instead of WHERE statement.

kod di atas menggunakan mile/batu. kalau nka pakai Km tukar 3963.189 kepada 6378.8

utk kod utk peta saya akan pos kan kemudian...

happy coding.

Wednesday, April 28, 2010

Travel Agency Membership System

Sistem keahlian agensi pelancongan

last year, bulan puasa ada member mintak tolong buatkan simple sistem utk dia punya travel agency. simple jer, dia nak paaki ms access jer.

Budget dia pun cuma RM500. kalau ikutkan x berbaloi buat utk budget camtu. tapi memandangkan nak raya...500 pun duit gak... bleh buat duit raya... so aku accept jer la... dr x dpt apa2.

requirement dia simple jer. dia nak keep track membership utk dia punya travel agency. dari package sampai payment and membership history. kalau dah xpired dia bleh tahu... and semua transaction dia bleh keep track.

here's the screenshot:


main page


Membership Information


Payment History


Payment Detail


Simple Statistic


Membership Report


Payment Report

if ada yg interested... bgtau ler... hehehe...

My Wish Llist

my wish & target...
main :

  • my own House
  • MPV

gadget:

  • iPhone (4G... hahahaha not even out yet)
  • 12" or 13" notebook (i'm not into netbook)
  • Canon EOS 550D
  • iPod (for hairi & danish)
  • Mountain Bike

Vacation:

  • sand & beach... shopping too....

Work:

  • better paycheck

family:

  • enough with 1 beautiful wife & 3 cute little boy for now.

pray for me....

Tuesday, April 27, 2010

Nokia E72 - firmware v 0.31.023

nokia dah release latest firmware utk E72... agak major firmware update gak... better than previous update... dan yg paling penting... so far garmin isu mcm dah solve... no more hang & crash.... respond pun nampak ada kemajuan... laju skit compare sebelum ni... byk lg update dia tp yg paling aku suka berkaitan garmin tu la...

E72 still rock.....

Friday, April 23, 2010

Google MAP API | IE issue

Salam...

Lama betul x posting kat sini... byk keje x setel... xsempat nak post.

kebetulan tgh bermain dgn Google MAP API.. tapi menghadapi masalah paparan dgn IE... map x keluar sepenuhnya. ia belarutan apabila kita nak get map bounds utk data manipulation. bounds x diterima secara betul kesan drpada map view yg x betul td.

yg aku nampak, ia memberi kesan terutama kepada IE apabila kita byk gunakan DIV. start dr situ viewer akan jd mengong kalikong...

utk ubah semua html layout or theme adalah sesuatu yg memenatkan.... so cari punya cari... rupanya kita bleh setkan size viewer kita terus ke function berkaitan. x perlu membiarkan JS lib dlm API google itu carikan utk kita .. yg hasilnya mengong skit bergantung kepada browser...

apa yg perlu dibuat

var map = new GMap2(document.getElementById(Elemento), { size:new GSize (200 , 125) } ); 

define viewer size kita terus kat function GMap2. YA.. ini x bermakna ia static terus... kita still bleh manipulate size kita tu.... bergantung kepada keperluan... cuma yg aku nak sampaikan.... solution ni utk counter masalah map keluar separuh kalau kat IE...

happy coding...