On 13 February 2012 09:58, Matt <[email protected]> wrote: > > The problem is that if you use > http://www.mammothmattress.com/find_nearest.html > and the postcode NE1 1NE in a 10 or 25 mile radius, the two nearby > points are right on the edge of the page. Is there a way to set a > limit of how near the edge of the map they are before it zooms out? Or > simply to set the zoom level to the bounds, minus one level of zoom? > > I imagine it's an edit to > > map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
Currently you set "bounds" with bounds.extend(point); and it's that line which needs to be altered, so that a different "bounds" is used to set the zoom level. The way to cater for markers near the edge is to extend a bounds object by each marker's position **plus a margin**. The margin won't make any difference if the markers are far enough away from the edge. For ordinary-shaped markers, you can adjust the margin so it's not much more than zero at the south edge but a bit more at the north edge so the marker will be shown if it's near the top of the map. So, replace this line bounds.extend(point); with something like // buffer zone above marker point bounds.extend(new GLatLng(point.lat()+.005,point.lng()); // buffer zone below marker point bounds.extend(new GLatLng(point.lat()-.00005,point.lng()); // buffer zone left of marker point bounds.extend(new GLatLng(point.lat(),point.lng()-0.0005); // buffer zone right of marker point bounds.extend(new GLatLng(point.lat(),point.lng()+0.0005); You don't the original bounds.extend(point) because that point is contained within the four you create and add afterwards. You may need to play with the figures for best results. Because the actual on-screen distance varies with zoom level (0.005 at zoom 23 is millions of times further on-screen than 0.005 at zoom 3) there will have to be a level of compromise. -- You received this message because you are subscribed to the Google Groups "Google Maps API V2" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-maps-api?hl=en.
