Just for fun, here's 3d version:
reliefmap =
GeoGraphics[Entity["Volcano", "Bardarbunga"],
GeoRange -> Quantity[100, "Kilometers"],
GeoBackground -> GeoStyling["ReliefMap"]];
latlong =
GeoBoundingBox[
GeoDisk[Entity["Volcano", "Bardarbunga"],
Quantity[100, "Kilometers"]]];
alt = Reverse[
QuantityMagnitude[
GeoElevationData[latlong, UnitSystem -> "Metric"]]];
bardabunga =
ListPlot3D[alt,
PlotStyle -> Directive[Opacity[.7], Texture[reliefmap]],
Mesh -> 10, MeshFunctions -> {#3 &},
TextureCoordinateFunction -> ({#1, #2} &),
MeshStyle -> GrayLevel[.5], Lighting -> "Neutral",
MaxPlotPoints -> 120, Boxed -> False, Axes -> False,
DataRange -> Reverse[Transpose[latlong[[All, 1]]]]];
data = "results" /. Import["http://apis.is/earthquake/is", "JSON"];
data3d = Map[{"size", {"longitude", "latitude", -100 "depth"}} /. # &,
data];
minmax = Through[{Min, Max}[data3d[[All, 1]]]];
earthquakes = {Point[#2,
VertexColors -> (Hue[0, #] & /@
Rescale[#1, minmax, {.1, 1}])]} & @@ Transpose[data3d];
prange = bardabunga // PlotRange;
prange[[3, 1]] = Min[data3d[[All, 2, 3]]];
Show[{bardabunga, Graphics3D[{PointSize[.004], earthquakes}]},
ImageSize -> 720, PlotRange -> prange, BoxRatios -> {1, 1, .7},
Background -> Black]