2013-06-03 4 views
1

Я уверен, что это должно быть очень легко, но я новичок в JavaScript, ...Раскрась первый маркер Карте Google другого цвета

У меня есть следующий код, чтобы отобразить список точек на карте Google:

<script type="text/javascript">  
var locations = [ 
        ['<b>Customer</b><br>Address', 52.6699927, -0.7274620, 1], 
        ['<b>Leicester</b><br>Unit B, St Margarets Way, Leicester<br>0116 262 7355', 52.646179, -1.14004, 2], 
        ['<b>Nottingham</b><br>Victoria Retail Park, Netherfield, Nottingham<br>0115 940 0811', 52.961685, -1.06394, 3], 
        ['<b>Nuneaton</b><br>Newtown Road Nuneaton Warwickshire<br>02476 642220', 52.5245, -1.46764, 4], 
        ['<b>Peterborough</b><br>Mallory Road, Boongate, Peterborough, Cambridgeshire<br>01733 561357', 52.574116, -.219535, 5], 
        ['<b>Wellingborough</b><br>Victoria Retail Park, Whitworth Way, London Road, Wellingborough<br>01933 276225', 52.289585, -.68429, 6]  
       ];  
var map = new google.maps.Map(document.getElementById('map'), 
     {  
      zoom: 9,  
      center: new google.maps.LatLng(52.6699927, -0.7274620),  
      mapTypeId: google.maps.MapTypeId.ROADMAP  
     } 
     );  
var infowindow = new google.maps.InfoWindow();  
var marker, i;  

for (i = 0; i < locations.length; i++) {   
      marker = new google.maps.Marker({   
          position: new google.maps.LatLng(locations[i][1], locations[i][2]),   
          map: map, 
          });        
      google.maps.event.addListener(marker, 'click', (function(marker, i) {   return function() 
      {   infowindow.setContent(locations[i][0]);    
         infowindow.open(map, marker);   
      }  
     }) 
     (marker, i));  } 


</script> 

Первое место в списке «местоположение» является центром карты, и я хотел бы изменить цвет только для этого маркеров. Я понимаю, что могу использовать icon, но я не уверен, как настроить код цикла for, чтобы сделать это.

Вы можете помочь?

Большое спасибо заранее.

+0

См [этот похожий вопрос] (http://stackoverflow.com/questions/16844370/display-infowindow-by-default-and-different-markers-in-google -maps/16844974 # 16844974) – geocodezip

+0

И [пример] (http://www.geocodezip.com/v3_SO_changeIcons.html) в нем. – geocodezip

ответ

1
  1. добавить значок URL к концу первого элемента в массиве, что-то вроде:

    ['<b>Customer</b><br>Address', 52.6699927, -0.7274620, 1, 'http://maps.google.com/mapfiles/ms/icons/blue.png'] 
    
  2. использования, что в определении маркера (если он не там будет «null», и будет использоваться маркер по умолчанию).

    marker = new google.maps.Marker({   
         position: new google.maps.LatLng(locations[i][1], locations[i][2]),   
         map: map, 
         icon: locations[i][4] 
        }); 
    

working example

+0

Блестящий. Спасибо, что работает! – user2448437

+1

Веселый способ, которым вы приняли мой ответ, так что я предполагаю, что вы тоже проголосовали за него. Грустный печальный человек! –

+0

Я не видел вашего ответа до тех пор, пока я не разместил свое сообщение, также не голосовал. – geocodezip

Смежные вопросы