wordpress postlarının google maps-ə inteqrasiyası

salam. kiçik bir proyekt üstündə işləmək istəyirəm. məzmunu təxminən belədir. istifadəçi interfeysindəki form-u (bölmələr: şəhər/rayon, mətn, media əlavəsi) göndərdikdən sonra,  saytda yerləşdirilmiş google xəritəsində müvafiq şəhər/rayonun üstündəki markerdə, həmin bölgə haqqında neçə post yazıldığı görünsün. həmin markerin üstünə vurulduqda isə həmin bölgəyə aid postlar sıralansın. əvvəlcə 0-dan başlamağa çalışdım və lazım olan funksionallığı qazandıra bildim. lakin istərsə dizayn (css biliklərim yox dərəcəsindədir), istərsə də təhlükəsizlik baxımından heç də ürəkaçan bir iş olmadığını düşünürəm.  bu saytda da olan, teq-lərə görə  postların sıralanması özəlliyinə görə, həmin proyekti wordpress üzərində qurmağa qərar verdim. lakin burda iki yeni sual ortaya çıxır.

1) məsələn mən yuxarıdakı tag hissəsinə hansısa rayon adını yazsam, bunun google map-də göstərilməyini necə təmin edə bilərəm?  (koordinatlar array-i yaradıb, məs:  $bolgeler =array ( 'quba'=>'40.98400, 48.5090')  [code] var myCenter=new google.maps.LatLng(<?php echo $bolgeler['quba']?>);[/code] etməklə çox yəqin ki, bunu təmin etmək olar - lakin bunu wordpress-ə necə mənimsədə bilərəm? ) 

2) marker hissəsində məlumatı göstərmək üçün (koddan çıxarış -js api versiyası 3-  [code] var infowindow = new google.maps.InfoWindow({content:<?php /* x şəhəri haqqında y sayda yazı var */ ?> });  [/code])  wp teqlərinin görə mysql sorğusunu necə apara bilərəm?  

 3)  markerdəki məlumatı hiperlink halına gətirib, həmin bölgəyə görə postları sıralamaq. bu çox yəqin ki, qəliz məsələ deyil - məs: bu saytdakı kimi http://abc.xy/key/rayonadi yəqin ki bu işi görə bilər. 

4) wordpress-də yuxarıda sıraladığım işlərin heç olmasa yarısının görülməsində mənə kömək edə biləcək hansısa bir plugin bilirsinizmi?

Verilmiş cavablar və yazılan şərhlər (6 cavab var)

E. Hacı (2013-05-06 11:40:52)
Bunun üçün key yox, wp options daha yaxşı olardı. Bir dənə wp_option yaradın. Bütün qiymətləri JSON ilə orada saxlayın. Sonra parse json edib oxuyub qiymətləri. Məsələn [code] {"rayonlar": [ {"ad": "Bakı", "koordinat": "filan","koordinat2": "filan"}, {"ad": "Şəki", "koordinat": "filan","koordinat2": "filan"}, {"ad": "Quba", "koordinat": "filan","koordinat2": "filan"} ] } [/code] Belə bir JSON düzəldib onu tutalım $rayonlar dəyişəninə mənimsətmək lazımdır. Sonra da update_option('rayonlar',$rayonlar); ilə bütün koordinatları bir option ilə DB-də saxlamaq. Sonra hansı səhifədə sizə lazım olacaqsa orada [code] $rayon=json_decode(get_option("rayonlar"), true); [/code] Burada $rayon array olacaq, hansı ki bütün rayonlar və koordinatları olacaq içində. Arrayın dəqiq quruluşuna var_dump($rayon) verərək baxa bilərsiniz.

marmeladze (2013-05-05 16:15:26)
[code]google.maps.LatLng(<?php $bolgeler[/* wp taginin adi*/] ?>)[/code]

marmeladze (2013-05-05 16:12:55)
bu prinsipcə mümkündür. yuxarıda da dediyim kimi bir array faylı yaradıb, key kimi rayon adı, value kimi də koordinatları versək, [code] <?php $bolgeler = array ( 'bakı' => '2, 3', 'salyan' => '3, 4', 'gəncə' => '3, 5' /* */ ); ?> [/code] daha sonra js faylındakı markerdə yeri bu koordinatlara əsasən google.maps.LatLng() kimi vermək olar. düzdür, array-ı haralarda include etmək barədə heç bir fikrim yoxdur :-)

E. Hacı (2013-05-05 15:18:03)
Tutaq ki, teq-lərdə rayon adını saxladınız və teqləri oxumaqla onu maps-a ötürdünüz, eləcə də hər bir teqin öz adresi işlədi. Bəs koordinatlar harda saxlanılsın? Axı teq təkcə addan ibaret field-dir, yəni field_name, field_value deyil, təkcə adı var vəssalam. Düzdür slug və description adlı sahələri də var, amma onlar koordinat saxlamaq üçün münasib deyil

marmeladze (2013-05-05 02:56:24)
salam. münasibət bildirdiyiniz üçün təşəkkür edirəm. burdakı sistemə bənzətməli olsaq, teq-ləri (yəni bölgələri) xəritəyə tanıdıb markerdə əks elətdirmək və daha sonra ordan çəkmək.

E. Hacı (2013-05-05 02:29:18)
Salam. Sualınız qarışıqdır. Gəlin belə edək, xəritəni bir kənara qoyaq hələ ki, çünki o hissəsini dediniz həll etmişəm, sizə wordpress-dən hansı dəyişənləri çəkmək və kodda işlətmək lazımdır onu deyin. Məsələnin sırf vvorpdress tərəfini xırdalasanız, məncə kömək etmək olar. Plugin axtarmaq məncə yersiz olar, çünki bu fərdi məsələdir, universal model deyil