Кластеризуют на сервере, а на клиент выдают одну точку с количеством на страну, хекс, или что душе удобно. Если пользователь на данном масштабе не в состоянии выбрать конкретную POI, то нет нужды их все ему показывать.
Не стоит парится, я думаю. Судя по тостеру, тут полно вопросов вида, как сделать так же, как вот тут на сайте. Т.е. вместо того, чтобы открыть код и посмотреть идут составлять вопросы. Не говоря уже о том, что бы почитать документацию к API.
0) Строишь маршрут
1) Проецируешь текущее положение на ближайший отрезок пути. Никакой магии - геометрия 8 класс.
2) Делишь этой точкой маршрут на два куска
3) Показываешь тот где конец маршрута
4) Ждёшь 50 секунд
5) Идёшь на пункт 1
6) Чего тут не понятно?
1. Берёте свои точки и вносите их в пространственную БД, строите индекс по геометрии. Все основные СУБД имеют такие расширения.
2. Получаете от гугла маршрут и передаете его себе на сервер.
3. Там строите буфер вокруг него и получаете свои искомые точки, отдаёте их клиенту.
4. Профит.
Взять id из таблицы, найти его в маркерах и показать в его месте на карте балун. Вроде бы элементарно. Да и в песочнице у яндекса есть похожие примеры.
Никак, в этом просто нет смысла, здание будет меньше пикселя. Поэтому в данных для такого масштаба их просто нет.
Для этих целей используют более генерализированные данные отмечающие жилую зону landuse=residential.
Нет, вам нужен непосредственно какой-то 3D-движок. Берёте Unity и Mapbox SDK для него и можете прикручивать модельки зданий на карту, ну и добавляете самостоятельно "адекватные инструменты".