Multiple Google Maps using V3 API
Have you considered an array?

You can then create multiple objects, having each object the values per point.

Like this:

var coords = [
    {lat: 49.18589, lng: -2.19917, zoom: 17},
    {lat: 101.1986, lng: -50.2445, zoom: 17},
    {lat: 29.125285, lng: -82.048823, zoom: 17}
];
var markers = [];
var maps = [];

function initialize() {
    for(var i = 0, length = coords.length; i &lt; length; i++)
    {
        var point = coords[i];
        var latlng = new google.maps.LatLng(point.lat, point.lng);

        maps[i] = new google.maps.Map(document.getElementById('map-canvas' + (i + 1)), {
            zoom: point.zoom,
            center: latlng
        });

        markers[i] = new google.maps.Marker({
            position: latlng,
            map: maps[i]
        });
    }
}




Here's what I did:


Created a few variables at the top, with needed information.
Created a loop to go through all the elements
Reduced the number of local variable to the bare minimum
Removed global variables being declared inside the function


Notice that I have this for loop:

for(var i = 0, length = coords.length; i &lt; length; i++)


I'm not accessing the length property directly because it may decrease performance. Accessing a local variable is always faster than a property in an array/object.

Also, since i starts in 0 and your elements' id starts in 1, I had to add 1 to i, to match the right element.

Using an array, you also don't need to re-re-re-repeat everytime you need to add a point: just add a new element inside the array coords.



I hope you can understand everything and hope it is clear enough for you. And hope it really helps you.