CEYD ile İleri Seviye Kodlama – Firma,Site,Köprü Nerede
CEYD-A komut güncellemeleri, artık genellikle güçlenen CEYD dili komutları ile yapılıyor. Bu şekilde, hem yazılımcı anlık güncellemeleri CEYD-A lara yansıtıyor hem de kullanıcılar zengin komutlar geliştirip hem kendilerinin hem de tüm CEYD-A ların yararlanmasını sağlıyorlar.
Bu yazıda CEYD-A’nın yer bilgisi sağlayan bir XML web servisine bağlanıp oradan istenilen bir yerin koordinatlarını, haritasını ve adres bilgilerini almasını sağlayacağız. Ayrıca koordinatları CEYD-A ile senkronize edip CEYD-A nın hemen sonrasında YOL TARİFİ dendiğinde navigasyona yönlendirmesini öğreteceğiz.
Son haline getirdiğimizde, 5 yeni komut oluşmuş olacak ve bunlardan 3 tanesi birbirlerini içiçe çağıracağı için CEYD-A nın ne kadar modüler olduğu da gösterilmiş olacak. Bu modüler yapı sayesinde komutlar birbirlerinden faydalanmakta ve tekrar kullanılabilirlik sağlamaktadırlar.
1. ve 2. komut cmdshowmap ve cmdshownavigationbutton,bağımsız olarak 3.komut içinde kullanılmaktadır. Amaçları harita ve navigasyon butonu göstermektir.
3.komut cmdsearchlocation yer bilgisi olarak tek bir parametre almakta ve bu parametre ile yer koordinatlarını ve adresini veren XML bilgisi dönen web servisine ulaşmaktadır. XML içinde bulunan name,icon,address gibi alanlara ulaşılmakta ve buradaki bir veya birden fazla yer bilgisi var ise, ilk bilgiler değişkenlerde tutulmaktadır.
Alınan bilgiler ekrana yazdırılmakta ve 1. ve 2. komutlar olan harita ve navigasyon butonları ekrana yansıtılmaktadır.
4.komut ise sizin sesle çağırdığınız en üstte bulunan komuttur. Bu komut aldığı yer bilgisini 3. komuta göndermekte ve bu 3.komut yukarıda anlatıldığı gibi yer bilgilerini ekrana sunmaktadır.
5.komut ise eğer önce 4.komut çağrılmışsa yani siz (YER İSMİ) nerede dediyseniz ve sonrasında 5.komutu kullanırsanız yani YOL TARİFİ, o zaman devreye girecektir. Zaten tanımındaki önceki komut, nerede bu kurguyu ifade etmektedir: Yol Tarifi sadece (YER İSMİ) nerede dendikten sonra çalışacaktır.
1.KOMUT
SORU ŞABLONU:cmdshowmap (.*),(.*),(.*),(.*)
SORU KELİMELERİ:cmdshowmap,1000|
CEVAP ŞABLONU:
1 2 3 |
<img width="100%" src="https://maps.googleapis.com/maps/api/staticmap?size=320x320&maptype=roadmap&markers=color:blue%7Clabel:S%7C$1,$2&markers=color:green%7Clabel:G%7C$3,$4">| |
ÖRNEK KULLANIM: cmdshowmap 40.9756114,29.2611645,41.9456114,29.3611645
2.KOMUT
SORU ŞABLONU:cmdshownavigationbutton (.*),(.*),(.*),(.*)
SORU KELİMELERİ:cmdshownavigationbutton,20|
CEVAP ŞABLONU:
1 2 3 4 |
<center><button id=btnharita value=http://maps.google.com/maps?saddr=$1,$2&daddr=$3,$4 class="blue waves-effect waves-light btn small"> <i class=mdi-maps-navigation></i>Yol Tarifi</button></center> |
ÖRNEK KULLANIM: cmdshownavigationbutton 40.9756114,29.2611645,41.9456114,29.3611645
3.KOMUT
SORU ŞABLONU:cmdsearchlocation (.*)
SORU KELİMELERİ:cmdsearchlocation,20|
CEVAP ŞABLONU:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{!SET url=https://ornekwebservisiadresi/xxxxxxxxx/query={!RET encode $1!}!} {!SET src={!RET loadurlfetch $url,html!}!} {!SET ADDRESSLATITUDE={!RET cmdconverttotext {!RET cmdfetchtaghtml location>lat:nth-child(0),$src!}!}!} {!SET ADDRESSLONGITUDE={!RET cmdconverttotext {!RET cmdfetchtaghtml location>lng:nth-child(0),$src!}!}!} {!SET address={!RET cmdconverttotext {!RET cmdfetchtaghtml address:nth-child(0),$src!}!}!} {!SET name={!RET cmdconverttotext {!RET cmdfetchtaghtml name:nth-child(0),$src!}!}!} {!SET icon={!RET cmdconverttotext {!RET cmdfetchtaghtml icon:nth-child(0),$src!}!}!} {!SET mylatlong={!RET koordinatlarım!}!} <table><tr><td><img src={!GET icon!}></td><td>{!GET name!}</td></tr> <tr><td colspan=2>{!GET address!}</td></tr> <tr><td colspan=2>{!RET cmdshowmap {!GET $mylatlong!},{!GET $ADDRESSLATITUDE!},{!GET $ADDRESSLONGITUDE!}!} </td></tr><tr><td colspan=2> {!RET cmdshownavigationbutton {!GET $mylatlong!},{!GET $ADDRESSLATITUDE!},{!GET $ADDRESSLONGITUDE!}!} </td></tr> </table> |
ÖRNEK KULLANIM: cmdsearchlocation fatih sultan mehmet köprüsü
4.KOMUT
SORU ŞABLONU:(.*?) (firması|köprüsü|sitesi|yeri) nerede.*
SORU KELİMELERİ:nerede,20|
CEVAP ŞABLONU:
1 2 3 4 |
{!IF $APPVERS<5.8.4??Bu komut yeni özellikler içerdiği için yeni güncelleme gerekli. CEYD-A yı ÜCRETSİZ olarak Google Marketten güncelleyiniz:: {!RET cmdsearchlocation $1!}!} |
ÖRNEK KULLANIM:(YER İSMİ) firması nerede,(YER İSMİ) yeri nerede
5.KOMUT
SORU ŞABLONU:yol tarifi.*
SORU KELİMELERİ:yol tarifi,1
CEVAP ŞABLONU:
1 2 3 4 5 6 7 |
{!SET errormessage=### Sanırım bir sorun oluştu. Yeri tespit edemedim ###!} {!RET callaction google.navigation:q={!GET $ADDRESSLATITUDE!},{!GET $ADDRESSLONGITUDE!}!} {!SET callactionmessage=!} {!SET errormessage=!} - |
ÖNCEKİ KOMUT:nerede