О ес, спасибо еще раз! Только вот теперь надо убрать те старые плюс-минус, а то поверх получается, ткните где, а я разберусь. А почему на сервере, вроде все работает?
Да, мой косяк: нужно поменять инициализацию объекта, а не добавлять строчку. Вот так:
var map = new OpenLayers.Map("map", {controls: [new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoom(), new OpenLayers.Control.Attribution()]});
map.addControl(setMarkerControl);
Также, вероятно вместо PanZoom может быть лучше PanZoomBar — посмотри оба и выбери лучший.
Да, конечно: это просто картинки. В дистрибутиве OpenLayers они лежат в img/(north|west|east|south)-mini.png. Если создать где-нибудь каталог с этими четырьмя файлами (перерисованными по вкусу), назвать его img и прописать перед созданием объекта OpenLayers:
OpenLayers.ImgPath = "img/";
(путь поставить настоящий, можно и абсолютный), то будут использованы новые значки.
Разумеется, если скопируешь все файлы, то править можно сразу их, ничего не прописывая.
Я только добавлю что если вместе со стрелочками будете переделывать внешний вид линейки зумов (вертикальная серая полоска) то берите тех же размеров, чтобы не пришлось код править.