Search code examples
javascriptjquerygoogle-mapsgoogle-street-view

How to get the coordinates of the point where we dropped the pegman in Google maps


I have a demo here http://jsfiddle.net/coderslay/vQVTq/

The js is given below

function initialize() {
    var fenway = new google.maps.LatLng(42.345573,-71.098326);
    var panoramaOptions = {
        enableCloseButton : true,
        visible: false
    };
    var panorama = new  google.maps.StreetViewPanorama(document.getElementById("pano"), panoramaOptions);
    var mapOptions = {
      center: fenway,
      zoom: 14,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      streetView : panorama
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);


    google.maps.event.addListener(panorama, "visible_changed", function() {
        if (panorama.getVisible() && $("#pano").is(':visible')){
            //moving the pegman around the map
        }else if(panorama.getVisible() && $("#pano").is(':hidden')){
            $("#pano").show();
            $("#map_canvas").removeClass('bigmap');
            $("#map_canvas").addClass('minimap');
        }
        google.maps.event.addListener(panorama, "closeclick", function() {
            $("#pano").hide();  
            $("#map_canvas").removeClass('minimap');
            $("#map_canvas").addClass('bigmap');         
        });
    });

The css is here

#container {
width:500px;
height: 500px ;
position: relative;
}

#map_canvas, 
#pano {
    position: absolute;
    top: 0;
    left: 0;
}

#map_canvas {
    z-index: 10;
}

.bigmap{
    width:100%;
    height:100%;
}

.minimap{
    width:50%;
    height:100%;
}​  

When i drag the pegman to any point on the map then the map is splitted into two parts. One is the normal view and the other is streetview. Now i want to show the location on the normal map where the pegman was dropped. How to get the coordinates of that particular point. So that i can pan to that location. How to do it?


Solution

  • I think you could use the getPosition() method on the StreetViewPanorama class.

    google.maps.event.addListener(panorama, "visible_changed", function() {
      map.setCenter(panorama.getPosition());
    });