Fixed GeoName

Mon 10 Feb 2014
ใช้เวลาอ่าน 1 นาที

ตอนอ่าน doc ของ jQuery-ui ใหม่ ๆ เห็นตัวอย่าง autocomplete  ใช้ GeoName เป็นตัวอย่าง เมื่อมีโอกาสเขียนเกี่ยวกับ พิกัดที่ตั้ง เลยใช้ GeoName มาใช้ แต่ช่วงหลังมานี้ (สักพักใหญ่) GeoName ได้เปลี่ยน api นิดหน่อยโดยให้ไปสมัครสมาชิกก่อนใช้งานถ้าใช้เยอะ ๆ ก็คิดเงิน ใช้น้อย ๆ ก็ใช้ฟรี

ถ้าใครเคยใช้แล้วไม่ได้ไปอัปเดทก็ลองเข้าไปดูนะครับแก้นิดเดียว ขั้นแรกต้องไปสมัครของ user มาก่อน หลังจากนั้นก็ส่ง parameter เพิ่มเติมดังนี้

url: "http://api.geonames.org/search",
            dataType: "jsonp",
            data: {
                featureClass: "P",
                type: "json",
                username: "xxxx",
                style: "full",
                maxRows: 12,
                name_startsWith: request.term
            },

เปลี่ยน url ไปยัง api.geonames.org/search แทนของเดิม และต้องระบุ type เป็น json เพราะไม่ระบุจะเป็น xml  และ ที่สำคัญคือต้องระบุ username ไปด้วย แค่นี้ก็จบละ

อ่านเพิ่มเติม: http://www.geonames.org/export/geonames-search.html