Yandex.Maps Static API. Developer`s guide
Transcription
Yandex.Maps Static API. Developer`s guide
Yandex.Maps Static API Developer's guide 15.05.2015 Yandex.Maps Static API. Developer's guide. Version 1.0 Document build date: 15.05.2015. This volume is a part of Yandex technical documentation. Yandex helpdesk site: http://help.yandex.ru © 2008—2015 Yandex LLC. All rights reserved. Copyright Disclaimer Yandex (and its applicable licensor) has exclusive rights for all results of intellectual activity and equated to them means of individualization, used for development, support, and usage of the service Yandex.Maps Static API. It may include, but not limited to, computer programs (software), databases, images, texts, other works and inventions, utility models, trademarks, service marks, and commercial denominations. The copyright is protected under provision of Part 4 of the Russian Civil Code and international laws. You may use Yandex.Maps Static API or its components only within credentials granted by the Terms of Use of Yandex.Maps Static API or within an appropriate Agreement. Any infringements of exclusive rights of the copyright owner are punishable under civil, administrative or criminal Russian laws. Contact information Yandex LLC http://www.yandex.com Phone: +7 495 739 7000 Email: [email protected] Headquarters: 16 L'va Tolstogo St., Moscow, Russia 119021 Contents About this document ............................................................................................................................................................................ 4 Overview of the Static API .................................................................................................................................................................. 4 Map center ........................................................................................................................................................................................... 5 Map size ............................................................................................................................................................................................... 6 Viewport .............................................................................................................................................................................................. 7 Zoom level ........................................................................................................................................................................................... 8 Map layers and types ........................................................................................................................................................................... 9 Traffic ................................................................................................................................................................................................ 12 Placemarks ......................................................................................................................................................................................... 12 Lines and polygons ............................................................................................................................................................................ 16 Automatic map positioning ................................................................................................................................................................ 20 Map localization ................................................................................................................................................................................. 22 Index .................................................................................................................................................................................................. 23 Yandex.Maps Static API Developer's guide Developer's guide About this document This guide is a detailed reference for the Yandex.Maps Static API. It explains the flow for working with the API, summarizes all the URL parameters, and describes each parameter in detail with working examples. The guide is intended for website developers who want to use static images from Yandex.Maps on their web pages. Overview of the Static API The Static API generates a map image based on the parameter values passed to the service in a URL with the following format: http://static-maps.yandex.ru/1.x/?lang=en-US&{URL parameters} The substring {URL parameters} contains a sequence of pairs in the format {parameter name}={parameter value}, separated by the ampersand symbol (&). The following example is a request for a map image of the center of Ankara with two numbered markers: http://static-maps.yandex.ru/1.x/?lang=en-US&ll=32.810152,39.889847& \ size=450,450&z=10&l=map&pt=32.810152,39.889847,pm2rdl1~32.870152,39.869847,pm2rd l99 Attention! Line breaks in the examples are indicated with backslash symbols ( \ ), which you should remove when copying the examples into your web page HTML code or your browser address string. The complete list of URL parameters is shown below. Parameter Data type and example Description l string,[string]... List of layers that define the type of map: map (roadmap), sat (satellite) and sat,skl (hybrid). Mandatory parameter. For more information, see Map layers and types. l=map Yandex.Maps Static API Developer's guide 4 Developer's guide Parameter Data type and example Description ll float,float Longitude and latitude of the map center in degrees; see Map center. ll=32.810152,39.889847 spn float spn=0.01,0.01 z integer Range of the map's viewport by longitude and latitude (in degrees); see Viewport. Zoom level of the map (0-17); see Zoom level. z=10 size integer,integer size=450,450 pt Height and width of the requested map image (in pixels); see Map size. string Contains definitions of one or more markers to be displayed on the (MarkerDefinition1~Mark map. erDefinition2~...) Each marker definition contains its coordinates (longitude pt=32.810152,39.889847,pm and latitude) along with information on its appearance (including 2rdl1~32.870152,39.869847 style, color, size and the marker text). Marker definitions ,pm2rdl99 are separated by a tilda (~). For more information, see Placemarks. pl string Contains definitions of geometric figures (polylines and polygons) (FigureDefinition1~Figu to display on the map. reDefinition2~...) The figure definition contains coordinates for its points (either a comma-separated list, or encoded), along with information on line pl=c:ec473fFF,f: 00FF00A0,w:5, \ color and thickness, and the fill color (for polygons). Figure 37.51,55.83,37.67,55.82,3 definitions are separated by a tilda (~). 7.66,55.74, \ 37.49,55.70,37.51,55.83 lang string (languageregion) lang=en-US For more information, see Lines and polygons Locale. • language — Two-letter language code. Specified in ISO 639-1 format. • region — Two-letter country code. Specified in ISO 3166-1 format. The following locales are currently supported: • lang=ru-RU • lang=tr-TR • lang=en-US For more information, see Map localization. Map center The center of the map image is set in the ll parameter. Its longitude and latitude (in degrees) are set off by commas in the parameter. The ll parameter is used either with the spn parameter (viewport), or with the z parameter (zoom level). Yandex.Maps Static API Developer's guide 5 Developer's guide Tip: 1. The map center usually shows a specific object of interest (building, city, etc.). To find an object's geographical coordinates by its address or name, you can use the Yandex.Maps geocoding service. 2. On the Yandex.Maps page the browser address bar shows a URL with the necessary parameters for displaying the map fragment that you see on the screen. These parameters include the coordinates of the object found via search (the sll parameter), the coordinates of the map center (the ll parameter), and the map viewport (the spn parameter). You can use the values of these parameters to request a static image of a map fragment. Attention! If the ll parameter is not set, the Static API automatically positions the map. The request example below is for a map image centered at 6. Sokak, Ehlibeyt, Çankaya, Ankara. The values for the map center and the viewport were determined using Yandex.Maps (the query "6. Sokak, Ehlibeyt, Çankaya, Ankara"). http://static-maps.yandex.ru/1.x/?lang=en-US&ll=32.810152,39.889847 \ &spn=0.016457,0.00619&l=map Map size The size of the map display is set using the size parameter, where the height and width of the map (in pixels) are separated by a comma. The maximum size allowed for the map display is 650x450 pixels. The examples below show requests for maps sized 450x150 and 200x200 pixels, centered on Istanbul with a zoom level of z=9: http://static-maps.yandex.ru/1.x/?lang=en-US&ll=28.98824,41.043451&z=9&l=map \ &size=450,150 Yandex.Maps Static API Developer's guide 6 Developer's guide http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98824,41.043451&z=9&l=map \ &size=200,200 Viewport The viewport is the minimal area shown surrounding the map center. The viewport is set using the spn parameter, using a comma to set off its range, which is specified by longitude and latitude (in degrees). The Static API selects the appropriate zoom level so that the entire specified area is visible on the image. Attention! If the spn parameter is not set, and the zoom level is not set explicitly, the Static API attempts to set the omitted parameters automatically. Examples The examples below show map image requests that differ from each other only by the viewport size (0.02x0.02, 0.3x0.3 and 10x10 degrees). The requested map fragment is centered on Taksim Meydanı in Istanbul, and the map size is 300x300 pixels. Viewport of 0.02x0.02 degrees: http://static-maps.yandex.ru/1.x/?lang=enUS&ll=28.98513,41.036943&spn=0.002,0.002 \ &size=300,300&l=map Viewport of 0.3x0.3 degrees: Yandex.Maps Static API Developer's guide 7 Developer's guide http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98513,41.036943&spn=0.3,0.3 \ &size=300,300&l=map Viewport of 10x10 degrees: http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98513,41.036943&spn=10,10 \ &size=300,300&l=map Zoom level The zoom level determines the current resolution of the image from the map. In the Static API, the zoom level is set by the z parameter, which can take whole values from 0 to 17. At the zero zoom level, the map shows the entire world, while at the maximum zoom level, it shows a single building. When the zoom level is increased by a single level, the image resolution doubles; for more information, see Coordinates and projections. Note: If the request specifies a viewport (the spn parameter), the zoom level is ignored. Attention! Not all zoom levels are available in all areas of the map. If the requested zoom level is not available for the selected area, the map will not be returned. The example below is a request for a map image with zoom level 12, centered on Sultanahmet Camii: http://static-maps.yandex.ru/1.x/?lang=en-US&ll=28.97709,41.005233&z=12 \ &size=450,450&l=map Yandex.Maps Static API Developer's guide 8 Developer's guide The following example is a request for the same map, but with the maximum zoom level (17): http://static-maps.yandex.ru/1.x/?lang=enUS&ll=28.97709,41.005233&z=17&size=450,450&l=map Map layers and types The map image consists of one or more layers overlaid on each other. The list of layers is set in the "l" parameter (the bottom layer should be listed first). Layer Image format Description map PNG Map of an area with names of geographical objects. sat JPG A satellite photo of the area. skl PNG Names of geographical objects. trf PNG Traffic jams layer. Yandex.Maps Static API Developer's guide 9 Developer's guide Layers can be combined. The available map types ("Roadmap," "Satellite" or "Hybrid") each correspond to a layer or specific combination of layers: • map — "Roadmap" map type. • sat — "Satellite" map type. • sat, skl — "Hybrid" map type. Examples for each map type are provided below: Roadmap (l=map) Map of the center of Istanbul: http://static-maps.yandex.ru/1.x/?lang=en-US&ll=28.98824,41.043451 \ &spn=0.1,0.1&l=map Roadmap showing traffic (l=map,trf,skl) Roadmap of the center of Istanbul showing traffic: http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98824,41.043451 \ &spn=0.1,0.1&l=map,trf,skl Yandex.Maps Static API Developer's guide 10 Developer's guide Satellite (l=sat) Satellite map of the center of Istanbul: http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98824,41.043451 \ &spn=0.1,0.1&l=sat Hybrid (l=sat,skl) Hybrid map of the center of Istanbul (the map framework is on the "satellite" layer): http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98824,41.043451 \ &spn=0.1,0.1&l=sat,skl Hybrid map showing traffic (l=sat,trf,skl) Hybrid map of the center of Istanbul showing traffic: http://static-maps.yandex.ru/1.x/lang=en-US&?ll=28.98824,41.043451 \ &spn=0.1,0.1&l=sat,trf,skl Yandex.Maps Static API Developer's guide 11 Developer's guide Traffic In addition to the standard map types, you can add an additional traffic layer to a map to show traffic levels in a city. To display the traffic layer, specify trf in the list of layers in the l parameter. Example roadmap of the center of Ankara with a traffic layer: http://static-maps.yandex.ru/1.x/?lang=en-US&ll=32.84243,39.948244 \ &spn=0.1,0.1&l=map,trf Placemarks The pt parameter is for displaying one or more placemarks (up to 100) on the map image: pt=PlacemarkDefinition1~PlacemarkDefinition2~PlacemarkDefinition3... Yandex.Maps Static API Developer's guide 12 Developer's guide Each placemark definition contains its coordinates (longitude and latitude) along with information on its appearance (including style, color, size and content of the placemark). The placemark definition uses the following pattern: {longitude},{latitude},{style}{color}{size}{content} Rules for designating placemarks: Style Color pm Description Size: wt — white do — dark orange • s — small • m — medium • l — large Content: db — dark blue bl — blue • For the sizes s and m, a number from 1 to 99. • For the l size, a number from 1 to 100. gn — green gr — grey lb — light blue nt — night or- orange pn — pink rd — red vv — violet yw — yellow a — with the letter "A" (without specifying content or size) b — with the letter "B" (without specifying content or size) Yandex.Maps Static API Developer's guide 13 Developer's guide Style Color Description Size: pm2 wt — white • m — medium • l — large Content: do — dark orange Number from 1 to 99. db — dark blue bl — blue gn — green dg — dark green gr — grey lb — light blue nt — night or- orange pn — pink rd — red vv — violet yw — yellow a — with the letter "A" (without specifying content) Yandex.Maps Static API Developer's guide 14 Developer's guide Style Color Description b — with the letter "B" (without specifying content) org — blue (without specifying content) dir — violet (without specifying content) blyw — blue with a yellow dot flag — flag. vk Size: m — medium bk- black button Content is not specified. gr — grey button Note: By ( default, a white medium-sized placemark is used pmwtm ). Example The request example below is for an image of a map fragment with placemarks of various styles, colors and sizes: http://static-maps.yandex.ru/1.x/?lang=en-US&l=map& \ pt=28.98624,41.043451~28.95624,41.043451,78~28.94114,41.043451, \ pmgrs~28.98124,41.043451,pm2rdm~28.97624,41.043451, \ pmntl100~28.965573,41.04311,pmors23~28.950111,41.043451, \ flag~28.969573,41.04311,pm2ywl99 Yandex.Maps Static API Developer's guide 15 Developer's guide If the placemark coordinates fall outside of the specified viewport, the placemark is not shown on the map. The placemark will also not be shown if the text has invalid symbols (anything other than numbers from 1 to 99). See also Automatic map positioning Lines and polygons Polylines and polygons can be used on a static map to mark a route or the boundaries of an object. A polyline consists of a set of points connected by straight line segments. A polyline can cross itself. If the coordinates of the first and last points are the same, the polyline is called a closed polyline. A polygon is set using one or more closed polylines. Restriction: The Static API allows displaying no more than 5 polylines and polygons on a map at once, and the total number of points on figures cannot be more than 100. The outward appearance of a geometric figure is set using a special definition. The polyline definition contains information about the thickness and color of lines, while the polygon definition contains information about the thickness and color of the outline and the fill color (see below). The points on all figures are assigned geographical coordinates. The point coordinates and the outward appearance of polylines and polygons are set using the pl parameter. This parameter contains definitions for all the figures displayed on the map. Figure definitions are separated by a tilda (~): pl = FigureDefinition1~FigureDefinition2~FigureDefinition3 The polyline definition has the following format: c:{line color},w:{thickness},{points} The polygon definition can additionally contain the fill color (the f parameter): Yandex.Maps Static API Developer's guide 16 Developer's guide c:{line color},f:{fill color},w:{thickness},{points} Line color An RGBA hex string (0xFFFFFFFF format) represents the line color. The first 6 symbols set the RGB color, and the next two set the line transparency. The transparency value has a range from 00 (transparent) to FF (opaque). For example: c:8822DDC0 Polygon fill color Uses the same format as the polyline color (see above). For example: f:00FF00A0 The even-odd rule is used for filling a polygon. This means that a point is filled in if a ray drawn from that point to infinity has an odd number of intersections with the edges of the polygon. An area where several polygons intersect is always filled in. Thickness Line thickness (in pixels). w:8 Note: If color and thickness are not set, a light violet semitransparent line with a thickness of 5 pixels is used (8822DDC0). Points The point coordinates of a polyline are set Longitude1,Latitude2,...,LongitudeN,LatitudeN. in the following way: The point coordinates of a polygon created by a single closed polyline are set in the same way. To define a polygon using a set of closed polylines, a semicolon must be used to separate the sequence of points for each polyline: PolylinePointCoordinates1;...PolylinePointCoordinates2. Examples • Polyline • Polygon defined by a single polyline • Polygon defined by a set of polylines • Intersecting polygons Polyline The request example below is for a map fragment of Izmir with an image of the pedestrian route from the "Çankaya" metro station to the Turkiye Tarim Kredi Kooperatifleri building. The polyline points are set by a list of point coordinates, and the default color and thickness are used: Yandex.Maps Static API Developer's guide 17 Developer's guide http://static-maps.yandex.ru/1.x/?lang=en-US&l=map \ &pl=27.135483,38.422478,27.137685,38.422469,27.137736,38.422564,27.137789,38.424 045,27.138519,38.423975,27.141899,38.423802, \ 27.142215,38.423756,27.142333,38.423697,27.142376,38.423549, \ 27.142596,38.423368,27.142971,38.423347,27.143285,38.423625, \ 27.143245,38.423912,27.143015,38.424102,27.142795,38.424128, \ 27.142795,38.424128,27.142387,38.423918,27.141909,38.423918, \ 27.138275,38.42422 Polygon defined by a single polyline The request example below is for a map fragment of Izmir with the walls of the "İzmir Fuarı" marked on it. It uses a polygon with a red outline and light green semitransparent fill to define the boundaries of the fortress: http://static-maps.yandex.ru/1.x/?lang=en-US&l=map \ &pl=c:ec473fFF,f:00FF00A0,w:7,27.14325,38.43178, \ 27.14855,38.430419,27.149794,38.428225,27.147327,38.425693, \ 27.147305,38.424562,27.143142,38.424089,27.141426,38.427853, \ 27.14325,38.43178 Yandex.Maps Static API Developer's guide 18 Developer's guide Polygon defined by a set of polylines The example below is for a map that displays a polygon defined by a set of polylines. The polyline point coordinates are separated by a semicolon. http://static-maps.yandex.ru/1.x/?lang=en-US&l=map \ &pl=f:30d5c844,w:7,29.085258,41.018105,29.100278, \ 41.016024,29.097618,41.007508,29.086545,41.009978, \ 29.085258,41.018105;29.089893,41.014724,29.096759, \ 41.013814,29.096158,41.010303,29.091009,41.011669, \ 29.089893,41.014724 Intersecting polygons The example below is for a map that displays two intersecting polygons. The set of parameters for each polygon is separated by a tilda (~). The area where the polygons intersect is filled in. http://static-maps.yandex.ru/1.x/?lang=en-US&l=map \ &pl=f:2222DDC0,c:003399,29.088504,41.052278,29.097001,\ 41.042141,29.08756,41.044935,29.088504,41.052278~ \ c:00ff0055,f:3caa3c77,29.100434,41.048444,29.086187, \ 41.04643,29.089791,41.042076,29.100434,41.048444 Yandex.Maps Static API Developer's guide 19 Developer's guide See also Automatic map positioning Automatic map positioning If the map image has at least one placemark or geometric figure (polyline or polygon), the viewport can be automatically selected, even if the URL does not specify values for the map center (ll parameter), the viewport (spn parameter), or the zoom level (z parameter). The Static API selects values for the omitted parameters so that all placemarks, polylines and polygons are visible on the map. If there is only one placemark set, it will be the center of the map; if a single polyline or polygon is set, the map center will be the geometric center of the area that is formed by the points of this polyline or polygon. The example below shows a request for a map fragment of Ankara that has a pedestrian path drawn on it from from the "Çankaya" metro station to the Turkiye Tarim Kredi Kooperatifleri building (there are placemarks at the beginning and end of the route). The request does not specify the ll, z or spn parameters: http://static-maps.yandex.ru/1.x/?lang=en-US&l=map \ &pt=27.135483,38.422478,pm2am~27.138275,38.42422, \ pm2bm&pl=27.135483,38.422478,27.137685,38.422469, \ 27.137736,38.422564,27.137789,38.424045,27.138519, \ 38.423975,27.141899,38.423802,27.142215,38.423756, \ 27.142333,38.423697,27.142376,38.423549,27.142596, \ 38.423368,27.142971,38.423347,27.143285,38.423625, \ 27.143245,38.423912,27.143015,38.424102,27.142795, \ 38.424128,27.142795,38.424128,27.142387,38.423918, \ 27.141909,38.423918,27.138275,38.42422 Yandex.Maps Static API Developer's guide 20 Developer's guide If we add another placemark to the map, for example, at the Kadifekale a different map center and zoom level will be selected: http://static-maps.yandex.ru/1.x/?lang=en-US&l=map \ &pt=27.135483,38.422478,pm2am~27.138275,38.42422, \ pm2bm~27.14316,38.416435,pm2vvl&pl=27.135483,38.422478, \ 27.137685,38.422469,27.137736,38.422564,27.137789, \ 38.424045,27.138519,38.423975,27.141899,38.423802, \ 27.142215,38.423756,27.142333,38.423697,27.142376, \ 38.423549,27.142596,38.423368,27.142971,38.423347, \ 27.143285,38.423625,27.143245,38.423912,27.143015, \ 38.424102,27.142795,38.424128,27.142795,38.424128, \ 27.142387,38.423918,27.141909,38.423918,27.138275,38.42422 See also Placemarks Lines and polygons Yandex.Maps Static API Developer's guide 21 Developer's guide Map localization The Static.API lets you make localized map images with labels in different languages. To set the language for geo object names on a map, you need to pass the locale in the HTTP request. The locale is set in RFC-3066 format using the lang parameter: lang=language-region • language — Two-letter language code. Specified in ISO 639-1 format. • region — Two-letter country code. Specified in ISO 3166-1 format. The following locales are currently supported: • lang=ru-RU • lang=tr-TR • lang=en-US Note: Turkish on geo object labels is currently supported only for maps of Turkey. The example below is for a map of Moscow with labels in Russian: http://static-maps.yandex.ru/1.x/?lang=ru-RU&l=map&ll=37.620070,55.753630&z=10 Yandex.Maps Static API Developer's guide 22 Index map center 5 map layer 12 map layers 9 map size 6 map type 9 Roadmap placemark color 12 placemark size 12 placemark style 12 placemark text 12 placemarks 12 style polygon fill color 16 polygon outline color 16 polygon outline thickness 16 polygons 16 fill color polyline color 16 polyline thickness 16 polylines 16 color traffic 12 URL parameters 4–9, 12, 16 key viewport 7 zoom level 8 Yandex.Maps Static API Developer's guide Yandex.Maps Static API Developer's guide 15.05.2015