Here's a map showing all the riding that I did over Christmas for Strava's Festive 500 challenge, plus some photos that I published on Instagram. The challenge is exceedingly popular and runs between Christmas Eve and New Years Eve (inclusive). I finished 7534th out of 68954, with a distance of 527km, and was also 753rd out of 9874 in the UK.
If you're interested in how I created this view, here's the process:
Here's the HTML code:
<style>
#map {
width: 700px;
height: 850px;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry"></script>
<div id="map"></div>
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(52.4, 1.4);
var myOptions = {
zoom: 9,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var mapCanvas = document.getElementById('map');
var map = new google.maps.Map(mapCanvas, myOptions);
var photos = [
{
url:"some-instagram-url",
position: {lat:50.5, lng:1.5},
anchor: new google.maps.Point(-40,120)
},
{
url:"some-other-instagram-url",
position: {lat:50.0, lng:1.0},
anchor: new google.maps.Point(-50,-50)
},
];
for( var i in photos ) {
if( !photos[i].url ) { continue; }
var icon = {
anchor: photos[i].anchor,
origin: new google.maps.Point(0, 0),
scaledSize: new google.maps.Size(150,150),
url: photos[i].url
};
new google.maps.Marker({
position: photos[i].position,
map: map,
icon: icon,
zIndex: 4
});
}
var decodedPaths = [
google.maps.geometry.encoding.decodePath("some-polyline"),
google.maps.geometry.encoding.decodePath("some-other-polyline"),
];
var decodedLevels = decodeLevels("BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB");
for( var i in decodedPaths ) {
new google.maps.Polyline({
path: decodedPaths[i],
levels: decodedLevels,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2,
map: map
});
}
}
google.maps.event.addDomListener(window, 'load', initialize);
function decodeLevels(encodedLevelsString) {
var decodedLevels = [];
for (var i = 0; i < encodedLevelsString.length; ++i) {
var level = encodedLevelsString.charCodeAt(i) - 63;
decodedLevels.push(level);
}
return decodedLevels;
}
</script>
Get more out of your power meter!Free sign-up now
All Cycling events | All events
Coming soon...
23 November 2025 (Sunday): Iceni Old Buckenham Cross (inc Regional Champs)
30 November 2025 (Sunday): Stow Scramble