Клуб API Карт

getCoordinates()

Пост в архиве.

Не пойму как работает, мне нужно переместить центр карты на метку, делаю так:

map.panTo(selectPlacemark.geometry.getCoordinates());
но перемещает в никуда, возле африки)))

при том если вызвать алерт selectPlacemark.geometry.getCoordinates(), скопировать координаты и вставить напрямую перемещает куда нужно. Мистика балин.


Нашел "решение":

map.panTo([selectPlacemark.geometry.getCoordinates()]);


Хотя в http://api.yandex.ru/maps/doc/jsapi/2.x/update/concepts/update.xml#geocode тут в Обработка событий геокодера написан myMap.panTo(point.geometry.getCoordinates());  не пойму почему...

3 комментария

должно работать

map.panTo(selectPlacemark.geometry.getCoordinates());


а что выводит

console.log(selectPlacemark.geometry.getCoordinates());

?

Без квадратных скобок:

Map
  1. _bounds: Array[2]
    1. 0: Array[2]
      1. 0: 3.9981331825256237
      2. 1: 6.997480894777597
      3. length: 2
      4. __proto__: Array[0]
    2. 1: Array[2]
      1. 0: 4.001866817474363
      2. 1: 7.0025190912777395
      3. length: 2
      4. __proto__: Array[0]
    3. length: 2
    4. __proto__: Array[0]
  2. _domListeners: ArrayGroup
  3. _globalPixelCenter: Array[2]
  4. _layerCollection: LayerCollection
  5. _mapEventController: MapEventController
  6. _projection: Object
  7. _type: "yandex#map"
  8. _zoom: 17
  9. action: ActionManager
  10. balloon: MapBalloon
  11. behaviors: BehaviorManager
  12. container: MapContainer
  13. controls: MapControls
  14. converter: Converter
  15. copyrights: Copyrights
  16. cursors: CursorManager
  17. events: MapEventManager
  18. geoObjects: MapGeoObjects
  19. hint: MapHint
  20. hotspots: HotspotManager
  21. id_135980306451666442: Object
  22. layers: MapLayers
  23. options: OptionManager
  24. panes: MapPaneManager
  25. zoomRange: ZoomRange
  26. __proto__: Object


Со скобками: 

Map
  1. _bounds: Array[2]
    1. 0: Array[2]
      1. 0: 35.06938129663466
      2. 1: 47.859337737758175
      3. length: 2
      4. __proto__: Array[0]
    2. 1: Array[2]
      1. 0: 35.073114931583405
      2. 1: 47.862731207054814
      3. length: 2
      4. __proto__: Array[0]
    3. length: 2
    4. __proto__: Array[0]
  2. _domListeners: ArrayGroup
  3. _globalPixelCenter: Array[2]
  4. _layerCollection: LayerCollection
  5. _mapEventController: MapEventController
  6. _projection: Object
  7. _type: "yandex#map"
  8. _zoom: 17
  9. action: ActionManager
  10. balloon: MapBalloon
  11. behaviors: BehaviorManager
  12. container: MapContainer
  13. controls: MapControls
  14. converter: Converter
  15. copyrights: Copyrights
  16. cursors: CursorManager
  17. events: MapEventManager
  18. geoObjects: MapGeoObjects
  19. hint: MapHint
  20. hotspots: HotspotManager
  21. id_135980346937046052: Object
  22. layers: MapLayers
  23. options: OptionManager
  24. panes: MapPaneManager
  25. zoomRange: ZoomRange
  26. __proto__: Object

вы каким-то образом получаете не координаты, а карту. Проверьте, правильно ли вызываете метод. 

 

Все должно работать как-то так: http://jsfiddle.net/WtFhf/