Basit bir Google Haritalar çözümüne ihtiyacınız var; modüllerin labirentinde kayıp


15

Her şeyden önce, Drupal'ın hangi sürümünü kullanmam gerektiğini umursamayayım (6 veya 7). Şimdiye kadar Google Haritalar ile çalışmak zorunda olmadığım her iki sürümle de deneyimim var. Gereksinimler oldukça basit (anladığım kadarıyla):

1) Haritaya eklemek istediğim her şirket için bir düğüm var

2) Düğüm düzenleme formuna bir adres eklemek ve özel bir google haritasına eklemek istiyorum (veya bir google harita konumunun bağlantısını kopyalayıp yapıştırabilirim)

3) Belirli bir konum için en yakın şirketi bulmak için bir arama fonksiyonu var

Orada tonlarca farklı modül var ve sadece sonunda kendim için özel bir modül yazmam gerektiğini anlamak için 15+ farklı modüle bakmak yerine doğru yöne işaret etmek istiyorum.

Şimdiden teşekkürler.

Yanıtlar:


36

Bunu OpenLayers kullanarak uygulayan bir Drupal özelliği oluşturdum (Bkz. Http://drupal.org/project/ol_locator ) veya kendi kurulumunuzu yapmak için aşağıdaki açıklamayı kullanabilirsiniz.

  1. Aşağıdaki Modülleri indirin ve etkinleştirin:

  2. Alt modülleri etkinleştir:

    • Coğrafi Harita 7.x-1.0-alpha5
    • Görünümler UI 7.x-3.0-rc1
    • OpenLayers UI 7.x-2.0-alfa2
    • OpenLayers Görüntülemeleri 7.x-2.0-alpha2
  3. admin/structure/types/add" Location" Adlı yeni içerik türüne gidin ve oluşturun

  4. admin/structure/types/manage/location/fieldsAşağıdaki alanlara gidin ve ekleyin:

    • Etiket: Adres> Alan adı: adres> Alan türü: Posta adresi> Widget: Dinamik adres formu
  5. Listeden hangi mevcut ülkeleri tercih edeceğinizi seçin. Hepsine izin vermek için boş bırakın.

  6. "Adres formu (ülkeye özgü)" seçeneğini işaretleyin

    • Not: Ülkeler ve ilgili alanları Adres Alanı modülü tarafından işlenir. Ülkenizi görmüyorsanız veya uygun alanları yoksa http://drupal.org/project/addressfield modülüyle ilgili bir sorun göndermeniz gerekir (Sıranızla ilgili sırada bir sorun olup olmadığını kontrol edin. Göndermeden önce ülkeyi eksik)
  7. Etiket: Geofield> Alan adı: geofield> Alan türü: Geofield> Widget: Başka bir alandan coğrafi kod

  8. Geofield ekranına gidin admin/structure/types/manage/ol_locator_location/displayve Defaultekranı değiştirin :

    • Etiket: Gizli> Biçim: OpenLayers
  9. Dişli çark simgesini tıklayın ve aşağıdakileri seçin:

    • OpenLayers Hazır Ayarı: Geofield Formater Haritası> Veri seçenekleri: Tam geometri kullan
  10. Aşağıya gidin admin/structure/openlayers/layers/settingsve aşağıdakileri ayarlayın:

    • Google Haritalar API'sı sürümü: v3.2
  11. Bir Test Konumu oluşturarak Coğrafi Kodlamanın çalışıp çalışmadığını test edelim

    • Bir test içerik türü oluştururken, iyi yapılandırılmış bir adres kullandığınızdan emin olun. Google adresinizi bilmiyorsa, yeni siteniz de bilmeyecektir.
  12. Gidin admin/structure/views/addve aşağıdaki bilgileri içeren yeni bir görünüm oluşturmak

    • Görünüm adı: Yakınlık Arama> Açıklama: Kullanıcıların yakınlık aramaları yapması için coğrafi kodlu konumları dinamik bir haritada görüntüler. > Göster: Türün içeriği: Konum sıralama ölçütü: Sıralanmamış> Devam et ve düzenle
  13. Aşağıdaki alanları ekleyin ve belirtilen durumlar dışında varsayılan değerlerini koruyun:

    1. İçerik: Başlık > Check off Etiket oluşturun: "Başlık"
    2. İçerik: Adres (Adres)
    3. İçerik: Geofield (Geofield)> Ekrandan hariç tut
    4. Yakınlık: Mesafe (Mesafe)
  14. Mevcut Filtre Ölçütlerini mevcut olana ekleyin :

    • İçerik: Yayınlandı (Evet) ve
    • İçerik: Tür (= Konum)
    • Yakınlık: Büyük daire (pozlanmış)> Değiştirmelerine izin vermek için bu filtreyi ziyaretçilere gösterin> Etiket: Yakınlık> Değer alanına "10" ekleyin> Ölçüm biriminin kilidini aç> Konum kilidini aç
  15. Üstbilgi > Genel: Metin alanı> Görünümün sonucu olmasa bile görüntüle

    • "Size yakın bir yer bulun. Şehrinizi, ilinizi / eyaletinizi veya posta / posta kodunuzu kullanarak arama yapabilirsiniz."
  16. Sonuç davranışı yok > Genel: Metin alanı ve aşağıdakileri ekleyin:

    • "Üzgünüz, sonuç bulunamadı.
      1.) Posta / posta kodunuzun doğruluğunu
      kontrol edin 2.) Şehrinizin, ilinizin veya eyaletinizin yazımını kontrol edin
      3.) Yakınlık mesafesini artırın"
  17. Düğme metnini gönder : Ara

  18. Yeni ekran ekle: " OpenLayers Veri Yerleşimi "

  19. Biçim :

    • Ayarlar> Bu açıcıları uygula (geçersiz kıl)> Harita Veri Kaynakları: WKT> WKT Alan: Geofield> Açıklama Alanı>> Uygula (bu ekran)
  20. Görünümü kaydet

  21. Adresine git admin/structure/openlayers/maps

  22. Varsayılan haritayı kopyala

  23. Genel bilgi> Ad: location_map. Başlık: Konum Haritası> Harita Açıklama: Bu varsayılan konum haritasıdır.

  24. Katman ve stiller> Katman katmanları (yeni oluşturduğumuz görünümü seçin) Konumlar "Etkin" "Etkinleştirildi" Geofield Formatter için Yer Tutucu için de aynısını yapın

  25. Davranışlar> Açılır (geri gelmek ve " Pop -up'ları uygulamak için katman seçin." )> Katmana Yakınlaştır "Harita yüklendiğinde yakınlaştırılacak katmanı seçin" > Nokta Yakınlaştırma Düzeyi: 20 ****

  26. Haritayı kaydet

  27. Yeni oluşturduğumuz görünüme geri dönün

    • admin/structure/views/view/proximity_search/edit
  28. Görüntü "Sayfa" ekle

    • Yol: /locator
    • Biçim: OpenLayers Haritası> Uygula (bu ekran)> Harita: Konum Haritası (OpenLayers'ta yeni oluşturduğumuz harita)> Uygula
  29. Görünümü kaydedin (Artık test içeriğimizle birlikte haritayı görünümümüzün altındaki önizleme bölmesinde görmeliyiz

  30. Görüntü ekle: "ek"

    • Biçim: Tablo> Uygula (bu ekran)
    • Ekle: Sayfa
    • Maruz kalan filtreleri devral: Evet
    • Üstbilgiyi Kaldır> Genel: Metin alanı> Uygula (bu ekran)
    • Görüntülenecek öğeler: Belirli sayıda öğe görüntüler | 5 öğe
    • Çağrı cihazını devral: Evet
    • Çağrı cihazı gönder: Evet
  31. Görünümü Kaydet

  32. Davranışlar> Açılır Pencere> Katmanlar> proximity_search_openlayers_1 (Yeni oluşturduğumuz Openlayers haritasını görüntüler)

  33. Katmana Yakınlaştır> Harita yüklenirken belirli bir katmanın boyutunu yakınlaştırır. >proximity_search_openlayers_1

  34. Geri dön admin/structure/types/manage/location/display> dişli simgesini ve değiştirmek Açık Katmanlar Preset için Sahaları Haritası biz yeni oluşturduğu> Güncelleme> Kaydet

İşte bu kadar! Bitti


1
Cevabınız o kadar ayrıntılı ki bir ödül koymak ve size otomatik olarak ödüllendirmek istiyorum: D Şimdi adımları deneyeceğim ve nasıl çalıştığını size bildireceğim
F1234k

Bu sadece cevap değil, bir öğretici :)
Codium

+1, ancak ol_locatorözelliğin daha yeni modül sürümlerinde buggy olabileceğini ve içinde sürüm numarası kısıtlaması olmadığını belirtmek önemlidir. Bunu yaşadım (maalesef). Ama cevabınız gerçekten çok ayrıntılı.
Sk8erPeter 21:12

Modül buggy ise, lütfen tam olarak neyin çalışmadığını modülümün sorun kuyruğuna gönderin (tüm ayrıntılar). Sorunları çözmede sorunum yok ama bunları bilmem gerekiyor. :)

Sadece OpenLayers Locator'ı test ettim ve çok iyi ve reklamı yapıldığı gibi çalışıyor. Teşekkürler @nicoz.
Nigel Waters

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.