如何创建像yelp一样的基于自定义地图的搜索栏?

时间:2014-07-22 05:57:03

标签: google-maps google-maps-api-3 web2py yelp

因此,我正在尝试创建一个像yelp这样的搜索栏,它会提供地点建议,而地图标记也会反映这些建议。我能够从谷歌地图api实现谷歌地图搜索栏,但现在我希望地方搜索只显示我的数据库中的地图上的地方建议。我将如何实现这一目标?详细的解释,教程或参考资料将非常有用。

1 个答案:

答案 0 :(得分:0)

一个很好的选择是使用Jquery UI's autocomplete。在web2py中,您需要编写一个控制器函数,该函数将通过jquery UI中的ajax调用。像(未经测试)的东西:

def places_lookup():

    import json 
    term = request.vars.term
    places = []
    if term:

        rows = db(db.place.name.startswith(term)).select(db.place.name,
                  orderby=db.place.name, limitby=(0,10), distinct=True)

        for row in rows:
            place = dict(name=row.name
                         )
            places.append(place)

    return json.dumps(places)

您可以使用以下网址从javascript调用此函数:

var url = "{{=URL('places', 'place_lookup.json')}}?term=" + request.term;

您必须阅读jquery ui文档以了解如何设置javascript。