Клуб API Карт

Вопрос взаимодействия клиента(карты) и БД

YanSmith
25 февраля 2010, 20:12

Приветствую разработчиков!

Я делаю сайт,вся информация которого хранится в БД,в том числе информация о метках.
Сначала я воспользовался примером,описанным здесь http://webmap-blog.ru/?p=329.
Метод там предлагается такой:
- Там адреса хранятся в БД, далее PHP-скрипт формирует HTTP-запрос на яндекс и записывает обратно в БД координаты метки.
- Далее проиходит вывод из БД информации о метках на карту таким образом:
 
 часть кода:
 ..в цикле {
  var point<?php echo $mar['id']; ?> = new YMaps.GeoPoint(<?php echo $mar['longitude'], ',', $mar['latitude']; ?>);  
  var placemark<?php echo $mar['id']; ?> = new YMaps.Placemark(point<?php echo $mar['id']; ?>,{style:"default#buildingsIcon"}); 
  placemark<?php echo $mar['id']; ?>.setBalloonContent('<div style="text-align:left"><strong><?php echo $mar[name].",&nbsp;".$mar[house_num]; ?></strong><br><br>comments:<?php echo $mar[comments]; ?><br>telephon:<?php echo $mar[telephon]?></br></div>');  
  map.addOverlay(placemark<?php echo $mar['id']; ?>); }

...правильно ли это с точки зрения производительности?

В других же примерах я видел,что данные о метках хранятся в XML формате. Просто подключаешься к файлу и метки выводятся на карту. Поэтому вопрос такой,где лучше хранить данные о метках?
В БД, или пользоваться XML? Или же как-то взаимодействовать между ними? Объясните чайнику:)

2 комментария
Подписаться на комментарии к посту
Данные о метках лучше хранить в базе. Как их выводить зависит от задачи, которую вы решаете. Оба варианта по своему хороши и имеют свои минусы...
может и правильно, но не красиво -
1.сформируйте массив данных,
2.загоните его в js через json_encode
3.только джаваскриптом пройдитесь опять же по js-массиву и сформируйте картинку маркеров

отделение логики от данных и представления - это базис