我认为:
string_location = myaddress2 geodata = [] for place, (lat, lng) in g.geocode(string_location,exactly_one=False): geodata.append((place, (lat, lng))) geodata_results = len(geodata) data = {"geodata": geodata, "geodata_results":geodata_results } return render_to_response("business/business_view.html", data, context_instance=RequestContext(request))
如何将 地理数据 “处理” /转换为JSON并将其传递到模板,以便像数组一样“循环”通过它?
我认为我可以这样做是对的吗?如果没有,请提出更好的解决方案。
谢谢!
更新
var geodata = "[["M. L. Quezon Street<br/>Mandaue City, Philippines", [10.351381999999999, 123.923535]], ["Talamban<br/>Cebu City, Philippines", [10.353527, 123.91352500000001]]]";
我认为JSON无法逃脱?如何在json字符串中转义特殊字符?我不断收到换行错误。
对于PHP,我将使用json_encode()进行修复。
您可以使用内置json模块:
json
>>> import json >>> geodata = [ ( "Here", (1003,3004) ), ("There", (1.2,1.3)) ] >>> json.dumps(geodata) '[["Here", [1003, 3004]], ["There", [1.2, 1.3]]]'
然后,您可以简单地将结果字符串嵌入javascript脚本中:
<script type='text/javascript'> var geodata = {{ geodata|safe }}; </script>