Маркеры: база данных против XML - PullRequest
0 голосов
/ 09 июля 2011

Мне нужны маркеры Google Maps, которые будут:

  • Изменяться ежедневно
  • Загружаться в зависимости от (если сегодня вечером в конкретном месте проведения мероприятия) *
  • Загружен категорически (может быть включен / выключен)
  • загружен по дате

Я ожидаю, что на экране будет в среднем 40 маркеров за раз, но не более300. Мои маркеры отсортированы в массиве.С чем мне идти?

Ответы [ 2 ]

0 голосов
/ 09 июля 2011

Мое понимание XML - это скорее механизм передачи данных, а не хранилище. Обычно я храню все в базе данных и использую XML или JSON для перемещения данных.

Мой подход заключается в том, чтобы хранить всю необходимую информацию в базе данных и иметь скрипт, который получает запрос (может включать такие параметры, как дата, категория и т. Д.) И возвращает соответствующие строки в формате JSON (хотя это может быть XML или любой другой формат).

Код JavaScript будет состоять из функции, которая генерирует запрос на основе пользовательского ввода (или любых данных, которые вам нужно получить), и после получения передает данные второй функции, которая создает маркеры и информационные окна, если это необходимо

jQuery становится очень удобным. Вы можете использовать %.ajax() или $.getJSON() для выполнения запросов и работы с данными, полученными из базы данных.

Это может помочь: http://code.google.com/apis/maps/articles/phpsqlsearch.html

0 голосов
/ 09 июля 2011

Я не совсем уверен, что понимаю ваш вопрос, но надеюсь, что смогу помочь.

Я предполагаю, что это часть более крупного веб-сайта с существующей базой данных, поэтому мне кажется, что вы должны хранить свои маркеры в базе данных и считывать требуемые маркеры при запросе страницы. Ваша бизнес-логика будет гарантировать, что вы получите правильные маркеры в любой момент времени. Ваш вид может затем взять IEnumerable, который вы можете использовать для заполнения своей карты.

Ваш класс Marker может выглядеть примерно так

public class Marker
{
    public decimal Longitude { get; set;}
    public decimal Latitude { get; set;}
    //...plus any additional info you want to add (maybe text for each marker)
}

Вы, наверное, уже сталкивались с этим, но если нет, то здесь есть хорошее место, чтобы получить информацию об использовании API карты Google:

http://code.google.com/apis/ajax/playground/#markers_v3

Извините, если это не поможет, поскольку мне пришлось сделать несколько предположений о том, с чем вы работаете.

...