Here's the JSFiddle Demo:
First of all, you do not get access to the array of hotels correctly. It should be hotels[i][0] for the header hotels[i][1] and hotels[i][2] for lat and lng and hotels[i][3] for the z-index. Secondly, the position takes a google.maps.LatLng object with lat and lng parameters as a parameter.
function initialize() { var latlng = new google.maps.LatLng(52.474, -1.868); var myOptions = { zoom: 11, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var image = 'i/hotel-map-pin.png'; var hotels = [ ['ibis Birmingham Airport', 52.452656, -1.730548, 4], ['ETAP Birmingham Airport', 52.452527, -1.731644, 3], ['ibis Birmingham City Centre', 52.475162, -1.897208, 2] ]; for (var i = 0; i < hotels.length; i++) { var marker = new google.maps.Marker({ position: new google.maps.LatLng(hotels[i][1], hotels[i][2]), map: map, // icon: image, title: hotels[i][0], zIndex: hotels[i][3] }); } } window.onload = initialize;
source share