我正在尝试运行googlemaps API地图,仅当有可用的GPS值时才会运行。
检查是否有GPS,如果没有,则检查错误1:
error1 = None
GPS =[]
try:
GPS = gd.get_gps(request.form['address'])
if len(GPS) == 0:
error1 = 'No GPS data'
else:
GPS.append(GPS)
except:
error1 ='No GPS data'
pass
return render_template('Client_Details.html', error1 =error1,GPS=GPS)
这是模板:
{% if error1 %}
<p class='alert'>{{ error1 }}</p>
{% elif GPS %}
<div id = "location">
<caption> Location <caption>
{{googlemap("map_name", lat=GPS[0], lng= GPS[1], zoom=17, maptype= 'SATELLITE', markers=[(GPS[0], GPS[1])])}}
{% endif %}
如果有可用的GPS并且地图显示,则此方法有效,但如果没有GPS(即GPS列表为空),则表示error1
没有显示,但是给我这个错误:
AttributeError: lat and lng required
答案 0 :(得分:0)
您正在以一种奇怪的方式回收GPS
变量,尽量避免这种情况。
error1 = None
GPS = []
try:
form_coordinates = gd.get_gps(request.form['address'])
if not form_coordinates:
error1 = 'No GPS data'
else:
GPS.append(form_coordinates)
except:
error1 = 'No GPS data'
return render_template('Client_Details.html', error1=error1, GPS=GPS)
另外,使用jinja2 length
函数检查是否有任何坐标。
{% if GPS is defined and GPS|length > 0 %}
<div id="location">
<caption> Location </caption>
{{googlemap("map_name", lat=GPS[0], lng=GPS[1], zoom=17, maptype='SATELLITE', markers=[(GPS[0], GPS[1])])}}
</div>
{% else %}
<p class='alert'>{{ error1 }}</p>
{% endif %}