Мой первый совет - не изобретать велосипед.Существует множество полезных библиотек и опций инфраструктуры, многие из которых бесплатны (как для пива, так и для речи).
Существует множество опций для обработки на стороне клиента.Для клиента Javascript вы можете использовать:
Из них я лично рекомендую OpenLayers как наиболее универсальный идействительно открытая структура на стороне клиента.
Этот вопрос по GIS.StackExchange содержит дополнительную информацию о претендентах в этой области.
Вам также понадобится какой-либо поставщикгеометрия / география карты, которую вы хотите символизировать.Для этой задачи есть несколько опций, вы могли бы использовать какой-то WMS (Web Map Service), у которых опции много и различны , или вы могли бы предоставить файлы в каком-то пространственном формате, таком как GML, KML или GeoJson.GeoJson, похоже, получает большую тягу как из-за простоты использования, так и из-за уменьшения полезной нагрузки.
Возможно, вы захотите подумать об обслуживании этого из серверной базы данных .Если вы хотите пойти по этому пути, я считаю PostGIS + GeoServer очень хорошим местом для начала, но существует так много вариантов и комбинаций.Хорошо то, что в этой области существуют устоявшиеся стандарты.
Наконец, ознакомьтесь с примерами того, чего можно достичь .