5

我正在 django 中开发一个 Web 应用程序,我想构建一个功能,一个人可以在一个文本框中输入一个位置名称,并且相应的位置显示在下一页的谷歌地图的中心。

请让我知道可以在 Django 中完成此操作的详细方法

先感谢您!

4

1 回答 1

3

我不知道这是否对您有足够的帮助,但基本上这是一种方法:

  • 编写位置输入的表单、视图和模板;
  • 阅读如何使用 Javascript 设置 Google 地图实例
  • 当用户提交表单时,您的视图会使用 urllib2 调用Google 地图地理编码网络服务(例如,该 URL 为:http<address retrieved from form> ://maps.googleapis.com/maps/api/geocode/json?address = &sensor=true
  • 处理生成的 JSON,提取经纬度;
  • 将 lat 和 lng 变量(以及您可能需要的其他变量)返回到您的模板;
  • 在您用 javascript 定义地图的模板中,使用 lat 和 lng 模板变量来设置地图,例如(根据Google Maps JavaScript API 文档中的示例):

    var myLatlng = new google.maps.LatLng({% latitude%}, {% longitude %});
    var myOptions = {
        zoom: 8,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    

正如一位评论者指出的那样,您的问题非常广泛 - 因此这个答案不会涉及太多细节。如果您使上述过程正常工作,请开始对其进行扩展(例如,您可以轻松地对其进行 ajaxify 处理,或者您可以使用 GM 网络服务向用户返回有意义的错误消息,...)

于 2011-05-06T15:31:18.890 回答