相关疑难解决方法(0)

Google Maps API v3:我可以在fitBounds之后设置缩放吗?

我想在嵌入式Google Map(API v3)上绘制一组点.除非缩放级别太低(即缩小太多),否则我希望能够容纳所有点.我的方法是这样的:

var bounds = new google.maps.LatLngBounds();

// extend bounds with each point

gmap.fitBounds(bounds); 
gmap.setZoom( Math.max(6, gmap.getZoom()) );
Run Code Online (Sandbox Code Playgroud)

这不起作用.如果在fitBounds之后直接调用,则最后一行"gmap.setZoom()"不会更改地图的缩放级别.

有没有办法获得边界的缩放级别而不将其应用于地图?解决这个问题的其他想法?

javascript google-maps google-maps-api-3 fitbounds

197
推荐指数
5
解决办法
19万
查看次数

谷歌地图v3:执行分钟.使用fitBounds时缩放级别

我正在地图上绘制一系列标记(使用地图api的v3).

在v2中,我有以下代码:

  bounds = new GLatLngBounds();

  ... loop thru and put markers on map ...
  bounds.extend(point);
  ... end looping

  map.setCenter(bounds.getCenter());
  var level = map.getBoundsZoomLevel(bounds);
  if ( level == 1 ) 
    level = 5;
  map.setZoom(level > 6 ? 6 : level);
Run Code Online (Sandbox Code Playgroud)

这样做可以确保地图上始终显示适当的详细程度.

我试图在v3中复制此功能,但setZoom和fitBounds似乎没有合作:

... loop thru and put markers on the map
  var ll = new google.maps.LatLng(p.lat,p.lng);
  bounds.extend(ll);
... end loop

var zoom = map.getZoom();
map.setZoom(zoom > 6 ? 6 : zoom);
map.fitBounds(bounds);
Run Code Online (Sandbox Code Playgroud)

我尝试过不同的排列(例如,在setZoom之前移动fitBounds)但是我对setZoom的处理似乎不会影响地图.我错过了什么吗?有没有办法做到这一点?

javascript google-maps google-maps-api-3 fitbounds

72
推荐指数
6
解决办法
7万
查看次数

谷歌地图API V3方法fitBounds()

我有这个渲染地图的代码.

function initialize() {
    var myOptions = {
      center: new google.maps.LatLng(45.4555729, 9.169236),
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP,

panControl: true,
mapTypeControl: false,
panControlOptions: {
            position: google.maps.ControlPosition.RIGHT_CENTER
        },
zoomControl: true,
zoomControlOptions: {
    style: google.maps.ZoomControlStyle.LARGE,
    position: google.maps.ControlPosition.RIGHT_CENTER
},
scaleControl: false,
streetViewControl: false,
streetViewControlOptions: {
    position: google.maps.ControlPosition.RIGHT_CENTER
            }
        };
    var map = new google.maps.Map(document.getElementById("mapCanvas"),
        myOptions);



var Item_1 = new google.maps.LatLng(45.5983128 ,8.9172776);

var myPlace = new google.maps.LatLng(45.4555729, 9.169236);

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

var marker = new google.maps.Marker({
    position: myPlace, 
    map: map}); …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

67
推荐指数
4
解决办法
14万
查看次数