How to find the image (coordinates) of an object in Google Street View

For example, I have a photo of an object in the city N, I want to find the location of this object in the Google Street View service, without viewing a huge number of streets of this city.

Example: 1) We have a photo of some monument of the city of N. We can crawl all the streets through Google Street View in search, but how to do it quickly? To eventually find the coordinates of this place?

Author: user3065679, 2017-08-15

3 answers

Open it Google Images and enter your query in the search field and click the "Image Search" button. For example, I enter the image link you suggested. Output: no images were found for this link. But there is also an option Search by image.

enter a description of the image here

Click on it and search results reports that " Most likely, the picture shows the Legend of the Perm bear". Note that this phrase issued as a link. Next, a list of "Similar images" is displayed, as well as a link. Next, a list of "Pages with suitable images"is displayed. In the first place in this list is the Wikipedia article " The legend of the Perm Bear" If you open this article, you will see a map sign, numbers (coordinates) and Latin letters to the right of the article title.

enter a description of the image here

If you place the cursor on these letters, a tooltip will appear there. I hope I helped you.

 0
Author: nikant25, 2017-08-18 10:51:52

I think you can see the solution in the article there is also a working example

This is not quite the answer to the question, but it can be useful in solving the problem if the geodata is in the photo file.

$(function(){
  $("#file-input").on("change", function(e) {
      EXIF.getData(e.target.files[0], function() {
          var result = EXIF.pretty(this);   //EXIF.getTag(this,'GPSLatitude')
          $("#span").text(result);
      });
  });
});
<!DOCTYPE html>
<html>
<head>
  <title></title>
  <script src="https://cdn.jsdelivr.net/npm/exif-js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
<body>
  <input type="file" id="file-input" />
  <span id="span">Here</span>
</body>
</html>

Try EXIF. getTag(this, 'gpslitude'), you will get 3 pairs that are separated by commas (,). you can convert them to a string and split them into an array, continuing with the remaining steps.

 0
Author: Daniil Loban, 2020-12-30 03:53:16

The question is not completely clear. Do you want to find a place in Google maps Street View using a photo of the place? or do you want to get an object in the same Google service? My answer to the second version of your question.

  • Get the coordinates of the object using the service Latitude and Longitude of a Point. It is advisable to specify as much detailed information about the object as possible.
  • Enter the results in the search fieldGoogle Maps - the panel on the left. For example Moscow, Assumption Cathedral. In the same left panel, a little below, next to the photo, you will see street view-see the attached screen:

enter a description of the image here

  • Click on this image and a panorama of the object will open in the main window.
  • Select the desired angle of the object.
  • In the address bar, after the @ sign, you will see two decimal digits (separated by a dot) separated by a comma.
  • Both of these digits, up to the next comma, are the street view coordinates of this object. Remember them.
  • Then, after the decimal point, there are numbers, something like: 3a, 75y. Ignore these numbers. Then, behind these numbers, there is a figure similar to this: 314.37 h is the angle of the view of the object. Remember this number, too.

You can apply the received data in two ways:

  • Like Google Maps APIs, for example:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Street View</title>
    <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #street-view {
        height: 100%;
      }
    </style>
  </head>
  <body>
    <div id="street-view"></div>
    <script>
      var panorama;
      function initialize() {
        panorama = new google.maps.StreetViewPanorama(
            document.getElementById('street-view'),
            {
              position: {lat: 37.869260, lng: -122.254811},
              pov: {heading: 165, pitch: 0},
              zoom: 1
            });
      }
    </script>
    <script async defer
         src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initialize">
    </script>
  </body>
</html>

Source.

In the content of the heading element, set the object view angle (see above).

  • Creating a Google Street View URL, for example, for the Assumption Cathedral, Moscow: http://maps.google.com/maps?q=&layer=c&cbll=55.7509805,37.6169829. Where q = request-everything passed in this parameter is processed as if it was entered in the request field on the page maps.google.com , layer = activates overlays. The current parameters are "t" traffic, "c " street view. for example, layer = tc-for simultaneous display. cbll = coordinates/latitude, longitude for street view. You can also simply copy the entire address bar from the Google map for this object.
 -1
Author: nikant25, 2017-08-17 05:14:37