Mike
Mike

Reputation: 5816

Google Maps calculate visible part of the map

Ok, i good a simple question about Google Maps.
Imagine there is a map the user scrolls half way out of screen on desktop. So only half of the map is visible on screen.
How can i calculate which part is visible, so i can put a marker in the center of the visible part of the map?

So if you check this out: http://jsfiddle.net/Honkoman/ghzgdLhw/

and scale the browser window like this:

enter image description here You see that pressing "run" sets the marker not in the visible middle of the map.

That's because map.getCenter works with the canvas dimensions, not the visible part of the map. So how can this be done?

  var marker = new google.maps.Marker({
    position: map.getCenter(),
    map: map
  });

Upvotes: 0

Views: 513

Answers (1)

ScaisEdge
ScaisEdge

Reputation: 133380

You can use

 map.getBounds() 

Returns the lat/lng bounds of the current viewport. If more than one copy of the world is visible, the bounds range in longitude from -180 to 180 degrees inclusive.

for obtain the coord of the visible maps

or directly you can use getCenter

map.getCenter();

and for marker

   var marker = new google.maps.Marker({
      position: map.getCenter(),
      map: map,
      title: 'Hello World!'
    });
  }

for the bound you can use this tecnique

    aNord   =   map.getBounds().getNorthEast().lat();   
    aEst    =   map.getBounds().getNorthEast().lng();
    aSud    =   map.getBounds().getSouthWest().lat();   
    aOvest  =   map.getBounds().getSouthWest().lng();   

Upvotes: 1

Related Questions