Клиент
Я бы пошел с OpenLayers - это клиентская библиотека с открытым исходным кодом, похожая на Google Maps API или Bing API. Однако OpenLayers избавит вас от любых проблем с лицензированием или изменения API, поскольку источник доступен и может быть изменен - это не относится к API Google / Bing / Yahoo. Однако вы можете использовать данные из этих сервисов как слои в OpenLayers и удалять их, если они внезапно наполнились рекламой или имеют коммерческие ограничения.
Посмотрите на примеры, чтобы увидеть, есть ли такой, который вы можете использовать для создания своего первого тестового приложения - http://openlayers.org/dev/examples/
GeoExtJS - это набор дополнительных инструментов и виджетов, которые работают с OpenLayers, построенный поверх другой JavaScript-инфраструктуры ExtJS - также с открытым исходным кодом. ExtJS в основном используется для создания пользовательских интерфейсов - форм ввода данных, сеток и т. Д. С использованием JavaScript для отображения в браузере.
Если вы ищете древовидные структуры для включения и выключения слоев и другие более продвинутые виджеты пользовательского интерфейса, то GeoExtJS стоит изучить.
Сервер
Если вы отображаете только точки, вы можете создать динамический KML или GeoJSON на своем веб-сервере и ссылаться на него в OpenLayers. Есть библиотеки на всех языках, на которых вы можете строить. Python стал ключевым языком в геопространственных технологиях и имеет библиотеки GeoJSON, с которыми вы можете писать сценарии.
GeoServer и MapServer - это серверные программы, которые позволяют вам распределять пространственные данные из баз данных с помощью символов, маркировки и т. Д. Если у вас много разных наборов данных, то стоит потратить время на настройку.
MapServer написан на C ++, так что вам, вероятно, будет проще попробовать это, однако вы можете уйти, не нуждаясь в каком-либо специализированном серверном программном обеспечении, особенно если ваши данные состоят из значений X, Y / Lon, Lat, которые могут быть легко нанесены в виде точек.