gribnoysup / react-yandex-maps

Yandex Maps API bindings for React
MIT License
327 stars 116 forks source link

Как получить доступ к YMaps.GeoCoordSystem #241

Closed nazarukroman closed 4 years ago

nazarukroman commented 4 years ago

Здравствуйте, не могу понять как получить доступ к YMaps.GeoCoordSystem с помощью withYMaps HOC. Вероятно я неправильно указываю имя модуля? Мне нужен метод distance, чтобы найти расстояние между двумя точками.

Подскажите, пожалуйста, как достучаться до метода distance.

https://codesandbox.io/s/react-yandex-map-wefcf

mmarkelov commented 4 years ago

@nazarukroman этот модуль был доступен в первой версии карт. Сейчас он переехал в coordSystem.geo

import React from "react";
import {
  FullscreenControl,
  Map as YMap,
  withYMaps,
  ZoomControl,
  Placemark
} from "react-yandex-maps";

function MapContentComponent(props) {
  const { ymaps, points } = props;

  // distance -> getDistance
  console.log(ymaps.coordSystem.geo.getDistance(points[0], points[1]));

  return (
    <YMap
      defaultState={{
        center: [59.9375, 30.308611],
        zoom: 9
      }}
    >
      <>
        {points.map((point, index) => (
          <Placemark key={index} defaultGeometry={point} />
        ))}
      </>

      <FullscreenControl />
      <ZoomControl />
    </YMap>
  );
}

export const MapContent = withYMaps(MapContentComponent, true, [
  "coordSystem.geo"
]);
nazarukroman commented 4 years ago

@mmarkelov Спасибо! А где можно посмотреть как правильно именовать модули для доступа к АПИ?

mmarkelov commented 4 years ago

@nazarukroman можно посмотреть здесь

nazarukroman commented 4 years ago

Возможно я в прошлый раз смотрел другую версию АПИ, спасибо, я получил ответ :)