Я решил похожую проблему некоторое время назад и, возможно, смогу дать вам несколько советов.
Панорамирование во всех 4 направлениях путем добавления масштабированной долготы или широты работает только для проекции Меркатора; это то, что у вас есть? Если так, хорошо.
Для панорамирования на север и юг, я думаю, единственное, что вы можете сделать, это показать белый (пустой) фон к северу от полюса, если вы панорамировали на север; то есть вы показываете меньше карты.
Чтобы переместиться на восток и запад, вам нужно заменить часть мира, которая ушла за экран, обернутым краем противоположной стороны.
Я обнаружил, что мой код становится очень простым, если я создаю карту следующим образом:
ws ws ws ws ws ws ws ws
eu po PO NA EU PO po na
af po PO SA AF PO po sa
ws ws ws ws ws ws ws ws
Центральная часть, заглавными буквами, является вашей исходной картой мира: NA, SA, EU и AF обозначают Северную Америку, Южную Америку, Европу и Африку, соответственно (здесь карта упрощенно упрощена). ПО - это Тихий океан. Вокруг этой исходной карты я сшил еще одну копию карты по горизонтали и пустое пространство (ws) по вертикали.
Первоначально ваше представление центрируется в 0/0, то есть между NA / SA и EU / AF, и обрезано, чтобы показать вам 90 ° северной и южной, восточной и западной сторон от него, в общей сложности 180 ° в обоих направлениях , Оттуда вы можете поворачиваться на 180 ° к востоку или западу и все еще видеть такое же количество света. Вы можете, например, повернуть 180 ° к востоку от Международной линии дат (в Тихом океане) и увидеть Европу и Африку слева и Северную / Южную Америку справа.
Вы также можете перемещаться вверх и вниз на 90 °. Так как обтекание здесь не имеет никакого смысла, тогда часть вашего обзора будет пустым пространством.
Недостатком является то, что изображение вашей карты будет примерно в два раза больше по размеру сжатого файла и в четыре раза больше по размеру в пикселях. Вы можете добиться того же эффекта, вставив код, но использовать карту мира большого размера немного проще.