РЕДАКТИРОВАТЬ: В основном, как локатор магазинов ASDA
У меня есть локатор магазинов, когда вы вводите свой почтовый индекс, и он показывает 3 магазина, которые находятся рядом с вами. От этого на карте появляются 3 маркера для каждой локации. Данные извлекаются из базы данных MYSQL, и именно там хранятся широта и долгота. Мне нужно, чтобы результаты были пронумерованы, скажем, 1, 2 и 3, и другой маркер с номерами 1, 2 и 3, чтобы они знали, какое хранилище результатов относится к какому маркеру. Я знаю, как создавать маркеры, но я не уверен, как это применить. Вот мой код, который я использовал для отображения результатов и отображения маркеров на карте:
PHP
<?php which displays the results down the side of the map..
if(isset($stores)){
foreach($stores as $store){ ?>
<div class="stores">
<p class="name"><?php echo $store['name']; ?></p>
<p class="address"><?php echo $store['address']; ?></p>
<p class="address"><?php echo $store['postcode']; ?></p>
</div>
<php number_format($store['distance'],2) ?> miles
<?php
}
}
?>
Чтобы получить маркеры для каждого результата на карте, я, очевидно, использовал javascript:
function initialize() {
var locations = [];
<?php
$count = 0;
foreach($stores as $store){
?>
locations.push(['<?php echo $store['name'] ?>','<?php echo $store['lat'] ?>','<?php echo $store['lng'] ?>','<?php echo $count++; ?>']);
<?php
}
?>
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 5,
center: new google.maps.LatLng(55.136319, -2.504183),
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() {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
google.maps.event.addDomListener(window, 'load', initialize);
Это отображает маркер по умолчанию, но если бы я должен был объявить каждый маркер изображением или цветом, как мне применить его к результатам массива для каждого результата? Любое руководство будет оценено.