Giter Club home page Giter Club logo

ymaps's Introduction

ymaps


PyPI Version GitHub

ymaps - это клиент для API Яндекс Карт (Неофициальный)

Синхронные и Асинхронные:


Установка

pip install ymaps

Зависимости


Использование

Геокоординаты задаются в порядке долгота и широта

* - обязательный аргумент

Все необязяательные аргументы должны передаваться по имени

Клиенты

Аргументы:

  • api_key*, получить ключ.
  • timeout, таймаут запроса, по умолчанию 1 секунда.
  • lang, язык ответа, по умолчанию русский (ru_RU), если в методе передан 'tr_TR', то будет использован 'tr_TR', но только для этого запроса.

api_key в StaticClient необязателен, указывайте только если используете коммерческую версию.

Примеры:

# api_key = 'key', timeout = 10, lang = 'en_RU'
SearchClient('key', 10, 'en_RU')

# api_key = 'key', timeout = 1, lang = 'ru_RU'
GeocoderClient('key')

# api_key = None, timeout = 1, lang = 'ru_RU'
StaticClient() # api_key=None, timeout=1, lang='ru_RU'

Поиска по организациям и географическим объектам (топонимы), формат ответа.

search()

Выполняет поиск по организациям или топонимам.

  • query*, текст поискового запроса
  • lang, язык ответа, по умолчанию ru_RU
  • type, типы возвращаемых результатов. geo — топонимы, biz — организации, по умолчанию автоматическое определение типа по тексту запроса
  • ll, центр области поиска
  • spn, размеры области поиска
  • bbox, альтернативный способ задания области поиска, при одновременном задании bbox и ll+spn параметр bbox является более приоритетным
  • rspn, признак «жесткого» ограничения области поиска, по умолчанию False (не ограничивать)
  • results, количество возвращаемых объектов, по умолчанию 10
  • skip, количество объектов в ответе (начиная с первого), которое необходимо пропустить, skip должно нацело делиться на results

Примеры:

client = SearchClient('api_key')


# query
client.search('лебединое озеро')
client.search('55.750788,37.618534')
client.search('Санкт-Петербург, ул. Блохина, 15')
client.search('+7 495 739-70-70')
client.search('ООО Яндекс')

# lang
client.search('ООО Яндекс', lang='ru_RU')
client.search('Санкт-Петербург, ул. Блохина, 15', lang='be_BY')

# type
client.search('ООО Яндекс', lang='ru_RU', type='biz')
client.search('лебединое озеро', type='geo')

# ll, spn (используются совместно)
client.search('площадь Революции', ll=[37.618920, 55.756994], spn=[0.552069, 0.400552])

# bbox
client.search('Театр', bbox=[36.83, 55.67, 38.24, 55.91])

# rspn, не искать за пределами заданной области
client.search('Театр', rspn=True, bbox=[36.83, 55.67, 38.24, 55.91])

# results
client.search('Администрация', results=25)

# skip
client.search('Администрация', results=25, skip=25)


# asynchronous
client = SearchAsync('api_key')
await client.search('ООО Яндекс', lang='ru_RU')

Прямое и обратное геокодирование, формат ответа.

geocode()

Преобразует адрес в координаты объекта.

  • geocode*, текст поискового запроса
  • rspn, признак «жесткого» ограничения области поиска, по умолчанию False (не ограничивать)
  • ll, центр области поиска
  • spn, размеры области поиска
  • bbox, альтернативный способ задания области поиска, при одновременном задании bbox и ll+spn параметр bbox является более приоритетным
  • format, формат ответа геокодера xml, json; json по умолчанию
  • results, количество возвращаемых объектов, по умолчанию 10
  • skip, количество объектов в ответе (начиная с первого), которое необходимо пропустить, skip должно нацело делиться на results
  • lang, язык ответа, по умолчанию ru_RU

reverse()

Преобразует координаты в адрес объекта. Принимает те же аргументы что и geocode() и еще:

  • geocode*, географические координаты объекта
  • sco, порядок записи координат, longlat — долгота, широта, latlong — широта, долгота, по умолчанию longlat
  • kind, вид необходимого топонима (house, street, metro, district, locality)

Примеры:

client = GeocoderClient('api_key')

# geocode
client.geocode('Санкт-Петербург, ул. Блохина, 15')

#reverse
client.reverse([37.611347, 55.760241])

# format, kind
client.reverse([37.611347, 55.760241], format='xml', kind='street')

# sco
client.reverse([55.760241, 37.611347], sco='latlong')

# ll, spn (используются совместно)
client.geocode('Санкт-Петербург, ул. Блохина, 15', ll=[30.301324, 59.951921], spn=[0.552069, 0.400552])

# bbox
client.geocode('Санкт-Петербург, ул. Блохина, 15', bbox=[36.83, 55.67, 38.24, 55.91])


# asynchronous
client = GeocodeAsync('api_key')
await client.geocode('Санкт-Петербург, ул. Блохина, 15')

Формирует изображение карты в соответствии со значениями параметров, возвращает bytes.

getimage()

  • ll*, центр области поиска, долгота и широта центра карты в градусах
  • l*, перечень слоев, определяющих тип карты: map (схема), sat (спутник), sat,skl (гибрид), trf (Слой пробок)
  • spn, протяженность области показа карты по долготе и широте (в градусах)
  • z, уровень масштабирования карты (0-17), см
  • size, ширина и высота запрашиваемого изображения карты (в пикселах)
  • scale, коэффициент увеличения объектов на карте (от 1.0 до 4.0)
  • pt, содержит описание одной или нескольких меток, которые требуется отобразить на карте
  • pl, Содержит набор описаний геометрических фигур (ломаных и многоугольников), которые требуется отобразить на карте
  • lang, язык ответа, по умолчанию ru_RU

Примеры:

client = StaticClient()

# l
client.getimage([37.620070, 55.753630], l=['sat', 'skl'])

# spn
client.getimage([37.620070, 55.753630], l=['sat', 'trf'], spn=[0.02, 0.02])

# z scale
client.getimage([37.620070, 55.753630], z=12, scale=2.5)

# size 
client.getimage([37.620070, 55.753630], size=[450, 450])

# pt
client.getimage([37.620070, 55.753630], pt=['37.620070,55.753630,pmwtm1', '37.62006,55.753632,pmwtm2'])

# pl
client.getimage([37.620070, 55.753630], pl=['c:ec473fFF,f:00FF00A0,w:5,37.51,55.83', 'c:ec473fFF,f:00FF00A0,w:5,37.49,55.70,37.51,55.83'])


# asynchronous
client = StaticAsync()
await client.getimage([37.620070, 55.753630], l=['sat', 'skl'])

Сохраните изображение:

with open('file.png', "wb") as f:
	f.write(response)

Development setup

$ python3 -m venv venv
$ . venv/bin/activate
$ make deps
$ tox

License

MIT

ymaps's People

Contributors

sfkan6 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.