ดาวน์โหลดและเปิดใช้งานโมดูลต่อไปนี้:
เปิดใช้งานโมดูลย่อย:
- แผนที่ Geofield 7.x-1.0-alpha5
- Views UI 7.x-3.0-rc1
- OpenLayers UI 7.x-2.0-alpha2
- OpenLayers Views 7.x-2.0-alpha2
ไปที่admin/structure/types/add
และสร้างประเภทเนื้อหาใหม่ที่เรียกว่า " Location
"
ไปที่admin/structure/types/manage/location/fields
และเพิ่มฟิลด์ต่อไปนี้:
- ป้ายกำกับ: ที่อยู่> ชื่อฟิลด์: ที่อยู่> ประเภทฟิลด์: ที่อยู่ทางไปรษณีย์> วิดเจ็ต: แบบฟอร์มที่อยู่แบบไดนามิก
เลือกประเทศที่คุณต้องการจากรายการ เว้นว่างไว้เพื่ออนุญาตทั้งหมด
ตรวจสอบ "แบบฟอร์มที่อยู่ (เฉพาะประเทศ)"
- หมายเหตุ: ประเทศและเขตข้อมูลที่เกี่ยวข้องได้รับการจัดการโดยโมดูล Addressfield หากคุณไม่เห็นประเทศของคุณหรือไม่มีเขตข้อมูลที่เหมาะสมคุณต้องยื่นปัญหากับโมดูลนั้นhttp://drupal.org/project/addressfield (ตรวจสอบว่ามีปัญหาในคิวเกี่ยวกับคุณหรือไม่ ประเทศที่ขาดหายไปก่อนที่จะโพสต์)
ป้ายกำกับ: Geofield> ชื่อฟิลด์: geofield> ประเภทฟิลด์: Geofield> Widget: Geocode จากฟิลด์อื่น
ไปที่admin/structure/types/manage/ol_locator_location/display
และเปลี่ยนการDefault
แสดงผลสำหรับ Geofield:
- ป้ายกำกับ: ซ่อน> รูปแบบ: OpenLayers
คลิกที่ไอคอนรูปเฟืองและเลือกรายการต่อไปนี้:
- OpenLayers Preset: Geofield Formater Map> ตัวเลือกข้อมูล: ใช้รูปแบบเรขาคณิตเต็มรูปแบบ
ไปที่admin/structure/openlayers/layers/settings
และตั้งค่าต่อไปนี้:
- รุ่น Google Maps API: v3.2
ลองทดสอบเพื่อดูว่า Geocoding ทำงานได้หรือไม่โดยการสร้างตำแหน่งทดสอบ
- เมื่อสร้างประเภทเนื้อหาทดสอบตรวจสอบให้แน่ใจว่าคุณใช้ที่อยู่ที่มีชื่อเสียง หาก Google ไม่ทราบที่อยู่ของคุณไซต์ใหม่ของคุณก็จะไม่มีเช่นกัน
ไปที่admin/structure/views/add
และสร้างมุมมองใหม่ด้วยข้อมูลต่อไปนี้
- ชื่อมุมมอง: การค้นหาใกล้เคียง> คำอธิบาย: แสดงตำแหน่งทางภูมิศาสตร์บนแผนที่แบบไดนามิกเพื่อให้ผู้ใช้ทำการค้นหาแบบใกล้เคียง > แสดง: เนื้อหาประเภท: สถานที่จัดเรียงตาม: ไม่เรียง> ดำเนินการต่อ & แก้ไข
เพิ่มฟิลด์ต่อไปนี้และเก็บค่าเริ่มต้นยกเว้นที่ระบุไว้:
- เนื้อหา: ชื่อ > ทำเครื่องหมายสร้างป้ายกำกับ: "ชื่อ"
- เนื้อหา: ที่อยู่ (ที่อยู่)
- เนื้อหา: Geofield (Geofield)> แยกออกจากการแสดงผล
- ระยะทาง: ระยะทาง (ระยะทาง)
เพิ่มเกณฑ์ตัวกรองต่อไปนี้ไปยังที่มีอยู่:
- เนื้อหา: เผยแพร่แล้ว (ใช่) และ
- เนื้อหา: ประเภท (= ตำแหน่ง)
- พร็อกซิมิตี: วงกลมใหญ่ (สัมผัส)> เปิดเผยตัวกรองนี้กับผู้เยี่ยมชมเพื่อให้พวกเขาเปลี่ยนได้> ป้ายกำกับ: ความใกล้เคียง> เพิ่มฟิลด์ "10" ลงในค่า> ปลดล็อกหน่วยการวัด> ปลดล็อกตำแหน่ง
ส่วนหัว > ทั่วโลก: พื้นที่ข้อความ> แสดงแม้ว่ามุมมองจะไม่มีผลลัพธ์
- "ค้นหาสถานที่ใกล้คุณคุณสามารถค้นหาโดยใช้เมืองจังหวัด / รัฐหรือรหัสไปรษณีย์ / ไปรษณีย์"
ไม่มีลักษณะการทำงาน > ทั่วโลก: พื้นที่ข้อความและเพิ่มรายการต่อไปนี้:
- "ขออภัยไม่พบผลลัพธ์
1. ) ตรวจสอบความถูกต้องของรหัสไปรษณีย์ / ไปรษณีย์ของคุณ
2. ) ตรวจสอบการสะกดคำของเมืองจังหวัดหรือรัฐของคุณ
3. ) เพิ่มระยะทางใกล้เคียง"
ส่งข้อความปุ่ม : ค้นหา
เพิ่มจอแสดงผลใหม่: " การซ้อนทับข้อมูลของ OpenLayers "
รูปแบบ :
- การตั้งค่า> ใช้ openlayers นี้ (แทนที่)> แหล่งข้อมูลแผนที่: WKT> ฟิลด์ WKT: Geofield> ฟิลด์คำอธิบาย>> ใช้ (จอแสดงผลนี้)
บันทึกมุมมอง
ไปที่ admin/structure/openlayers/maps
โคลนแผนที่เริ่มต้น
ข้อมูลทั่วไป> ชื่อ: location_map หัวข้อ: แผนที่ที่ตั้ง> คำอธิบายแผนที่: นี่คือแผนที่ตำแหน่งที่ตั้งเริ่มต้น
เลเยอร์ & สไตล์> เลเยอร์ซ้อนทับ (เลือกมุมมองที่เราเพิ่งสร้าง) ตำแหน่งที่ตั้ง "เปิดใช้งาน" "เปิดใช้งาน" ทำเช่นเดียวกันสำหรับตัวยึดตำแหน่งสำหรับฟอร์แมตเตอร์ Geofield
พฤติกรรม> ป๊อปอัป (ต้องกลับมาและ"เลือกเลเยอร์เพื่อใช้ป๊อปอัปกับ" ในภายหลัง)> ซูมไปที่เลเยอร์"เลือกเลเยอร์เพื่อซูมไปที่เมื่อโหลดแผนที่" > ระดับการซูมจุด: 20 ****
บันทึกแผนที่
กลับไปที่มุมมองที่เราเพิ่งสร้างขึ้น
admin/structure/views/view/proximity_search/edit
เพิ่มจอแสดงผล"หน้า"
- เส้นทาง:
/locator
- รูปแบบ: แผนที่ OpenLayers> ใช้ (จอแสดงผลนี้)> แผนที่: แผนที่ที่ตั้ง (แผนที่ที่เราเพิ่งสร้างใน OpenLayers)> ใช้
บันทึกมุมมอง (ตอนนี้เราควรเห็นแผนที่ของเราในบานหน้าต่างแสดงตัวอย่างที่ด้านล่างของมุมมองของเราพร้อมเนื้อหาทดสอบใด ๆ
เพิ่มจอแสดงผล: "ไฟล์แนบ"
- รูปแบบ: ตาราง> ใช้ (จอแสดงผลนี้)
- แนบกับ: หน้า
- รับตัวกรองแบบสัมผัส: ใช่
- ลบส่วนหัว> ทั่วโลก: พื้นที่ข้อความ> ใช้ (จอแสดงผลนี้)
- รายการที่จะแสดง: แสดงจำนวนรายการที่ระบุ | 5 รายการ
- รับเพจเจอร์: ใช่
- แสดงเพจเจอร์: ใช่
บันทึกมุมมอง
พฤติกรรม> ป๊อปอัป> เลเยอร์> proximity_search_openlayers_1 (แผนที่มุมมอง Openlayers ที่เราเพิ่งสร้างขึ้น)
ซูมไปที่เลเยอร์> ซูมไปยังขอบเขตของเลเยอร์ที่กำหนดในการโหลดแผนที่ >proximity_search_openlayers_1
กลับไปที่admin/structure/types/manage/location/display
> คลิกไอคอนรูปเฟืองแล้วเปลี่ยนเปิดเลเยอร์ที่ตั้งไว้ล่วงหน้าไปยังแผนที่ที่ตั้งที่เราเพิ่งสร้าง> อัปเดต> บันทึก