{
const map = vl.markGeoshape({fill: "lightgrey", stroke: "black"})
.data(vl.topojson(countries_url).feature("countries1"))
const city_points = vl.markPoint({filled: true, opacity: 0.3})
.data(cities_data)
.transform(vl.filter("datum.population >= 1000000"))
.encode(vl.latitude().fieldQ("lat"),
vl.longitude().fieldQ("lng"),
vl.color().value("purple"),
vl.size().fieldQ("population").scale({range:[0, 3000]}),
vl.tooltip("city"))
return vl.layer(map, city_points)
.project(vl.projection("mercator").scale(500).center(15, 28))
.width(600)
.height(600)
.render()
}