All maps are old Yandex version. Download Yandex.Maps for Android. Old - online map with satellite view: streets, houses, areas and other objects

Convenient cards for fast and easy navigation.


Introduction:

One of the main distinctive features It has always been possible to use a smartphone as a navigation device by simply downloading a navigator application. One of the popular services providing geographical maps is Yandex, which has long ago released an official application for Android called " Yandex maps". The application boasts fairly detailed maps, the ability to work both online and offline, as well as the presence of not only street maps from Yandex, but also street maps from people who live in those places and know the exact names of the streets.



Functional:


After launching the application, the map immediately launches and shows your current location. Location accuracy depends on the accuracy settings selected on your device. The interface contains a minimum of buttons and is very convenient. At the top there is a button to turn on/off the display of traffic jams, on the left there is a button for selecting a vehicle, on the right there are buttons for determining your current location and a zoom button. On the bottom panel you will find four tabs:
1. Layers - allows you to select the type of map you want to use, as well as the elements you want to see on it.
2. Search - you can find not only streets, but also gas stations, cafes and other places.
3. Route - allows you to plot a route from point A to point B.
4. Menu - in it you can look at bookmarks, go to settings, and also download maps to your device to view them offline.

Search for a map of a city, village, region or country

Old. Yandex map.

Allows you to: change the scale; measure distances; switch display modes - diagram, satellite view, hybrid. The Yandex maps mechanism is used, it contains: districts, street names, house numbers and other objects of cities and large villages, allows you to perform search by address(square, avenue, street + house number, etc.), for example: “Lenin St. 3”, “Staraya Hotel”, etc.

If you don't find something, try the section Google satellite map: Old or vector map from OpenStreetMap: Old.

Link to the object you selected on the map can be sent by e-mail, icq, sms or posted on the website. For example, to show a meeting place, delivery address, location of a store, cinema, train station, etc.: combine the object with the marker in the center of the map, copy the link on the left above the map and send it to the recipient - according to the marker in the center, he will determine the location you specified .

Old - online map with satellite view: streets, houses, areas and other objects.

To change the scale, use the mouse scroll wheel, the “+ -” slider on the left, or the “Zoom in” button in the upper left corner of the map; to view a satellite view or a people's map, select the appropriate menu item in the upper right corner; to measure the distance, click the ruler at the bottom right and plot the points on the map.

And the inscriptions do not look small. We also resolved problems with freezing or sudden closing on some devices. Feel free to write about any errors you notice - we have added a button to the “About the application” section to quickly send a letter to the developers.

3.8
We collected your comments and improved the application, , , which arose when building routes: after selecting an address from the hint, the keyboard no longer disappears.

3.45
Main news: appeared in the application detailed map peace. Now Yandex.Maps will help you travel around the globe: navigate unfamiliar cities and build driving routes. We are now updating the maps of Russia and have fixed various little things.

3.42
- bugs fixed.

3.40
- new card organizations;
- improved work with bookmarks;
- feedback form on communication quality for MTS users;
- error correction.

3.20
- viewing and adding reviews about organizations and establishments;
- bugs fixed.

3.12
- ability to edit left rating;
- displaying ratings in search results for organizations;
- saving bookmarks even after reinstalling the application;
- bugs fixed.
- improved warning for video cameras. The signal will sound
v.3.11
- error correction.

v.2.21
the ability to download a city map to your phone;

Today one of the most significant Yandex.Maps updates in history took place. Firstly, the People's Map is combined with the main one, which means everyone can quickly and easily add their own house to the map or correct an inaccuracy. The results of the changes will be available to everyone - on Yandex.Maps, as well as in mobile Maps and Navigator. And secondly, Yandex.Maps received new interface, the beta version of which we once talked about on Habré in the early stages of working on it (many thanks for all the comments and advice that were expressed then).

Below the cut, I’ll talk about how we worked on the interface, how we solved the problem of quickly loading objects in the browser, came up with and implemented new tools that should protect user edits, and how we made it so that new life became possible at all, and why maps will now be updated faster than ever and will be accurate at the same time, and much more.

The first version of People's Cards was launched exactly five years ago - on April 8, 2010. At that time, Yandex.Maps was completely dependent on map data providers. By launching the People's Map, we wanted to give people the opportunity to independently influence the completeness and quality of the data. The reality exceeded all our expectations: over these five years, through the efforts of users, many cities have been drawn and settlements Russia and neighboring countries. When new junctions are opened, corrections are made to the map within a day, and most often within an hour.


This is what the first version of the People's Map looked like in 2010

But the world does not stand still, and the next challenge awaited us - to make a tool out of the People's Map, with the help of which even people not familiar with cartography could create professional maps suitable for use in automobile routing.

But, setting ourselves such a goal, we were also aware of the tasks that we would have to solve. Firstly, to make the interface of the new People's Card so intuitive and friendly that anyone can work with it. Secondly, I had to learn how to edit very large objects in the browser. In the old People's Map, when loading an object with a large number of nodes (>20K), the browser froze. In the new People's Map, as we have conceived it, this is unacceptable.

And thirdly, since after today’s changes we allow people to edit data, which will then be seen by tens of millions of Yandex.Maps users, it is necessary to even more reliably protect the results of the work of “people’s” cartographers from unscrupulous users, whom we call vandals.

Working on the interface

During our work, we determined that we have two user groups:
  • beginners who have never tried to edit a map;
  • experienced users, which include cartographers and active users of the People's Map.
For us, this meant that the interface should be simple and understandable for first-time users, and should satisfy the flexibility and ease-of-editing requirements of experienced users. But how to achieve this?

We hypothesized that the interface should be two-level. The first level is for completely new users to perform simple scenarios, and the second level is for experienced users when they need to do something more complex. I will give examples below.

To test this hypothesis, we studied user sessions on the People's Map and found that among the most popular scenarios for creating and editing data, the following stand out:

  • editing organization;
  • editing the building and its address;
  • editing simple area objects (park, lawn, school or kindergarten grounds);
  • editing the road.

And since these scenarios are where you begin to get acquainted with editing a map, it means they should be super logical and intuitive. If a person understands them and is still interested in editing the map, then he can click the “Show more” button. After this click, the user will find more tools that he will have to figure out - read the instructions, ask for advice from more experienced users.

During the user interface design process, we immediately encountered the need for dynamic prototypes. It turned out to be very difficult to discuss complex editing scenarios with static layouts in hand. Many questions arose like: “What will happen if I press this button and do this?” When there are a lot of scenarios and with each button press they branch and intersect, “dynamic prototypes” are an excellent solution. They help to quickly and clearly demonstrate how the user should interact with the interface.

We started testing the user interface with them. Our first test subjects were our developers. As soon as we demonstrated to them the desired user interaction with our product, they heard: “We don’t understand how to make such magic. Let’s first make it simple from a development point of view, and then we’ll try to simplify the interface for users.”

Any solution is better than no solution. Therefore, we reworked all the interface prototypes into an implementation that we understood. As a result, we have a prototype in which all the data is edited, but in some places it is inconvenient and illogical.

Let me better explain with an example. Let's take Lake Baikal. How convenient is it for a simple user to edit? Baikal is an area object, so it is natural to edit it as an area object. But there is a problem - Baikal consists of 527 closed contours (the contour itself plus cut-out islands), more than 59,200 nodes, and also has common borders with many rivers.

If you try to download all this data from the server to the user's browser, everything will freeze. Therefore, in our data everything is presented somewhat differently.

There is a hydrographic object “Lake Baikal”, which only has a name and no geometry.


When you select an object, all its outlines are shown

There are closed contours associated with this object, which represent the outer contour of the lake and cut out holes for the islands. They have an “external” or “internal” (outline) attribute, but also do not have their own geometry.

Please note that I selected only one contour - the highlighting of all the others disappeared

All these contours consist of one or more often many sections of hydrographic boundaries, which represent the actual geometry.


The picture highlights one of the sections of the outer contour of Lake Baikal

This means that to create such a lake, we must:

  • draw the actual boundaries of the lake and all islands;
  • create an object “Lake Baikal” and add to it contours collected from pre-drawn boundary sections.

This is how our cartographers see and create data. And we chose this option for editing data as a starting point for gradually improving the interface.

At the moment when the first version of the editing interface was developed and launched on the test service, the whole team set off to test it. Based on the test results, we met again and discussed what could be improved in this editing method.

The first thing we decided on is that drawing Baikal is a rare case, and a novice user is more likely to draw something simpler. For example, a local pond. And this is a trivial case, and the pond will consist of one hydrographic object, one contour and one section of boundaries. So in such cases, let’s create it as a simple area object without all this hassle with border sections and contours, and we will save it as three separate objects (hydrography object, contour, border). No sooner said than done.


Create a feature boundary, outline, and hydrography feature in one step

And if you can create trivial objects this way, then let’s edit trivial objects in the same way. Ready!


Editing an object consisting of one object boundary, one outline, and a hydrography object

Great! Let's also edit those objects that consist of one contour, but several sections.


Editing an object consisting of three object boundaries, one outline, and a hydrography object

Great. Let’s also edit objects with “common boundaries” and those that have many contours. But here it won’t work. In the case of an object that has borders in common with other objects, we do not know what the user wants to do - move the shared border or untie the object from this shared border. And in the case of objects with a large number of contours, it is necessary to understand which contour the user will now edit. This means that it is necessary to think through scenarios for these cases and implement selection and editing tools.


A pond that has one external contour, several internal contours and an external contour that has a common border with the channel

Okay, now we understand where the line is between simple and complex editing scenarios. But we have already implemented simple cases, and... you won’t believe it, they look almost the same as how the interfaces were designed at the very beginning of the project. It’s just that magic has become understandable and implementable.

In subsequent research, we figured out how to make complex data editing scenarios understandable, but the solution was not as elegant as we wanted. We have learned to detect when a user is faced with a complex scenario. The service offers to familiarize yourself with the rules for editing adjacent objects and even tells the user where an error may have occurred.


Shows the error with a link to documentation and a marker where the error was found

Download speed

We have sorted out the basic interfaces, but, continuing the conversation about Lake Baikal, we need to understand how we will edit it if the computer is already freezing from 20K nodes loaded into the browser?

Let's solve this problem step by step too. You can edit attributes and geometry, and if there are many contours, then in one stage you can work out the geometry of only one contour:


Editing is only available from a certain map scale, and the user is asked to select which contour geometry he wants to edit

And so, when the user selects a contour for editing, the “magic” works again - if the contour is small (for example, the internal contour under an island), we load it completely and let it be edited as a simple area object.


The case of editing a simple outline object

And if the outline is very large, then we load only the visible sections of the borders and allow them to be edited. If the user moves the map and there are only new border sections on it, we will also load them for editing. Thus, the user is almost simple mode can edit complex objects without even noticing it.


Only one section of the object's boundary is loaded from the set

In this cunning way, we bypassed the limitations of the browser - the speed of loading data for editing and restrictions on the number of simultaneous points available to it.

Protecting edits

The next important task for us was to make the service resistant to users who corrupt data. The old People's Card had already implemented measures to counter them. But in the new one, anyone will be able to edit data that is used by tens of millions of users. We must do everything possible to prevent them from being spoiled.

To do this, we changed the moderation system for all user edits - from post-moderation to pre-moderation. That is, from today all edits in the People's Map will undergo mandatory verification by moderators. We hope this will further improve the quality of the data.

We don’t have the task of rolling back all the data to a specific date or revision; we have the task of deleting only part of the user’s edits, while preserving all the rest, and also preserving the integrity of the data. The result was our internal development of data storage, data revisions and separate presentation.

One of the important advantages of our system is that we have learned to control data integrity well. For example, I'm editing a section of road and changing its geometry.


Editing the geometry of a road section directly

Then I go to the neighboring node, where several road sections intersect, and try to edit it, but indirectly edit the geometry of the previous section.


Editing the geometry of a road section indirectly

This means I end up with two related edits. If we were not able to control and version such indirect edits, then we would not be able to return the object to the state it was in before the indirect edit. This means that it would be necessary to prohibit all indirect edits over direct ones.

In principle, there is nothing wrong with such a solution; some mapping services do this. But this solution completely eliminates the possibility of editing a road junction, since when editing the road graph, indirect changes to the data always occur.

Another important topic related to data versioning is the visual representation of diff edits. You can always see what it looks like latest version object, but for convenient moderation it is important to see how the object looked before and after editing. It is especially important to make a diff like this for the geometry of the object:


This is what the geometric and attribute diff looks like for the edits I made to demonstrate direct and indirect object editing


But I finished drawing a pedestrian road that cut the road into two sections


And this is what diff looks like for simple objects like a building

This visual representation of edits makes it quicker and easier to understand who edited what and how.

As a result, we were able to implement a simple and understandable interface for users who are not familiar with cartography and do not want to understand the data structure. At the same time, we created a convenient and flexible interface for experienced users. Along the way, we learned how to edit very large and “heavy” objects in the browser and placed all user edits under version control.

And all this to make it even more convenient for users to share their knowledge about the area with others.



Backgammon