coordinates = []
for result in results:
coordinates.append((result[5], result[6]))
lat_center = sum([coordinate[0] for coordinate in coordinates]) / len(
coordinates
)
lng_center = sum([coordinate[1] for coordinate in coordinates]) / len(
coordinates
)
html = r"""
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html { height: 100%; }
body { height: 100%; margin: 0; padding: 0 }
#mapid { height: 100% }
</style>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw==" crossorigin=""></script>
</head>
<body>
<div id="mapDiv" style="width:100%; height:100%"></div>
<script>
"""
html += "var map = L.map('mapDiv').setView([{lat}, {lng}], 10);".format(
lat=lat_center, lng=lng_center
)
html += """
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
"""
for latitude, longitude in coordinates:
html += "L.marker([{lat}, {lng}]).addTo(map);\n".format(
lat=latitude, lng=longitude
)
html += "</script> </body> </html>"
self.view.setHtml(html)