Клуб API Карт

Масштаб карты

steshuk
19 января 2009, 05:09

Проблема с определением масштаба карты


как  задать масштаб вывода карты???  когда  делается  поиск по почтовым адресам???
..
тоесть задать постоянный  масштаб,  который не зависит от поиска обекта.. будь то страна  или город.
map.setCenter -- не помогает (((


вот пример моего кода:


       window.onload = function init () {
           var map = new YMaps.Map(document.getElementById("YMapsID"));
           var gc = new YMaps.Geocoder("москва, россия");
           map.addControl(new YMaps.SmallZoom(), new YMaps.ControlPosition(YMaps.ControlPosition.TOP_RIGHT, new YMaps.Size(5,

5)));
           YMaps.Events.observe(gc, gc.Events.Load, function () {
               if (this.length()) {
var geoPoint=this.get(0).getGeoPoint();
  
map.setCenter(new YMaps.GeoPoint(geoPoint.getLng(),geoPoint.getLat() ), 2, YMaps.MapType.MAP);
map.setBounds(this.get(0).getBounds());
map.addOverlay(this.get(0));
this.get(0).setBalloonContent(this.get(0).text);
          
               }
           });
       }


P.S.   Делаю  интерактивную карту для сайта о веб-камерах горородов 

3 комментария
Подписаться на комментарии к посту
как вариант задавать центр карты до поиска по почтовым адресам... да и вообще не трогать карту, когда делаете гео-кодирование, а только добавить метки по результатам поиска...
Метод setBounds() устанавливает новый центр и масштаб для карты, чтобы максимально близко охватить объект, который передан в этот метод в качестве параметра. Закомментируйте строчку map.setBounds(this.get(0).getBounds()); И тогда всегда будет масштаб 2. Если не поможет, то опишите задачу, которую Вы решаете. Постараюсь помочь.
Спасибо за омощь! убрал строку "map.setBounds(this.get(0).getBounds());" и все ок.