0
dies der Code einige Funktionen in einer Karte für die Anzeige, mit Flasche und OpenLayer3:Jinja2 Block vollständig ignoriert
<script type="text/javascript">
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
})
],
view: new ol.View({
center: ol.proj.fromLonLat([-105.269487,40.016026]),
zoom: 10
})
});
var vectorSource = new ol.source.Vector({
//create empty vector
});
{% for row in geodata %}
var iconFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform([{{row['lat'],row['lon']}}], 'EPSG:4326', 'EPSG:3857')),
name: {{row['id_tweet']}}
});
vectorSource.addFeature(iconFeature);
{% endfor %}
var iconStyle = new ol.style.Style({
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
opacity: 0.75,
src: 'http://openlayers.org/en/v3.9.0/examples/data/icon.png'
}))
});
var vectorLayer = new ol.layer.Vector({
source: vectorSource,
style: iconStyle
});
map.addLayer(vectorLayer)
Dies ist Python-Code:
@app.route('/map', methods=['GET', 'POST'])
def display_geodata():
f_obj = open(PROJECT_ROOT+'/data.csv', "rt")
return render_template('map.html', geodata = read_data_from_csv(f_obj))
def read_data_from_csv(file):
return csv.DictReader(file)
Warum die für Block zeigt nichts an? Während des Debuggens, die Geodaten kann ich sehen, dass nicht leer ist, und alle Datta der Datei data.csv enthalten! Wo liege ich falsch?
'Rückkehr dict_reader = csv.DictReader (Datei)' eine Syntax generieren soll Fehler, ist das die tatsächliche Zeile, oder ist es 'zurück csv.DictReader (Datei)'? –
im Allgemeinen, um zu sehen, dass dies sogar ordnungsgemäß Schleifen, verwenden Sie console.log (Zeile) in der Schleife und überprüfen Sie die Browser-Dev-Konsole für eine Ausgabe. Dann können Sie sagen, ob es jinja2 oder Ihr Javascript ist. –
Ist es wichtig, dass Sie die gleiche Variable innerhalb der for-Schleife neu definieren? – wgwz