Клуб API Карт

Позиционирование центра карты по результатам геокодирования

AlexandreFrolov
29 ноября 2008, 15:54

Нужно показать карту таким образом, чтобы ее центр находился в объекте, заданном своим названием, а не координатами.

Для установки центра карты предназначен метод map.setCenter, которому нужно передать координаты. Но как получить эти координаты по названию населенного пункта?

Нашел пример, где устанавливается маркер, однако не могу понять, как извлечь информацию о координатах найденного объекта, необходимую методу map.setCenter.

---------------------------------------

В итоге сделал так:

 

var place="Москва, ул. Сретенка, дом 1";

var map;
function init () {
  map = new YMaps.Map( document.getElementById("YMapsID") );
  map.removeAllOverlays();  
 var geocoder = new YMaps.Geocoder(place, {results: 1, boundedBy: map.getBounds()});
 YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
  
  if (this.length()) {
  var geoPoint=this.get(0).getGeoPoint();
    
  map.setCenter(new YMaps.GeoPoint(geoPoint.getLng(),geoPoint.getLat() ), 18, YMaps.MapType.HYBRID);
  map.addControl(new YMaps.TypeControl());
  map.addControl(new YMaps.ToolBar());
  map.addControl(new YMaps.Zoom());
  map.addControl(new YMaps.MiniMap());
  map.addControl(new YMaps.ScaleLine());

  map.addOverlay(this.get(0));
  this.get(0).setBalloonContent(this.get(0).text);
  this.get(0).openBalloon();

    } else {
    alert("Ничего не найдено")
      }
});