Без лишний ограничений подойдёт Leaflet + OSM. Там куча плагинов, может даже найдёте готовый или перепишите под себя имеющиеся - leafletplayback.theoutpost.io
Я не понял ни про pin, ни про div, но чтобы получить координаты центра при перемещении карты - достаточно подписаться на событие moveMap или что-то в этом роде.
И те и те карты имеют API для построения маршрута. Можно даже карту не использовать, а сразу попросить рассчитать расстояние. Другое дело, что ни та ни та не разделяют автомобили и им всё равно может тут проехать грузовик или нет, главное дорога есть.
Ну правильно, ведь у вас переменная contentString одна на весь цикл. И когда вы создаёте маркер в ней остаётся последнее значение. Заверните создание маркера в отдельную функцию, тогда переданный в неё параметр будет для каждого вызова свой. https://jsfiddle.net/sxbkjxwe/
Или вы плохо объяснили или первое.
Есть у вас событие клик на маркер. Вот внутри него ... генерируете ещё пачку маркеров и запоминаете их. При очередном клике, удаляете запомненные и генерируете новые.
Вам нужно освоить установку какого-нибудь геокодера на данных OSM. Такие данные как вы хотите в готовом виде мало полезны, поэтому их ни кто не выкладывает. Хотя вот gazetteer генерирует похожую информацию по странам и там даже есть Беларусь.
Тут у вас могут быть две загвозки с легальным использованием:
1) Нельзя использовать API для систем диспетчеризации;
2) Сервисы должны быть бесплатны и открыты для всех.
Ну или интерпрайс подписка.
По другому не работает. Можно конечно установить заданный интервал, но он мало влияет на работу самого GPS. Потому что, даже горячий старт может занимать до минуты времени. А если координаты нужны здесь и сейчас, даже с интервалом в 15 секунд, придётся его держать постоянно включенным.