渲染方向时不要更改地图中心或缩放级别 [英] Do not change map center or zoom level when rendering directions

查看:129
本文介绍了渲染方向时不要更改地图中心或缩放级别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要一张柏林的大地图,你可以看到多条路线。不幸的是,一个DirectionsRenderer缩放到路线,所以你必须再次手动缩小。

I want to have a large map of berlin from which you see multiple routes. Unfortunately a DirectionsRenderer zooms to the route so you have to manually zoom out again.

如何避免此行为?

How do I avoid this behavior?

var $canvas = document.querySelector('#map');

var map = new google.maps.Map($canvas, {
    center: new google.maps.LatLng(52.46004869999999, 13.37898690),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    zoom: 14
});

var routes = [
    { 
        origin: new google.maps.LatLng(52.459281, 13.356367),
        destination: new google.maps.LatLng(52.455833, 13.322948),
        travelMode: google.maps.TravelMode.BICYCLING
    },
    {
        origin: new google.maps.LatLng(52.597621, 13.430536),
        destination: new google.maps.LatLng(52.5918799, 13.2832929),
        travelMode: google.maps.TravelMode.BICYCLING
    }
];

routes.forEach(function(route) {
    new google.maps.DirectionsService().route(route, function(body) {
        var display = new google.maps.DirectionsRenderer();

        display.setMap(map);
        display.setDirections(body);
    });
});

http://jsfiddle.net/H3GE3/2/

推荐答案

使用 DirectionsRenderer的预览视频选项,以防止自动缩放到路线,然后设置您喜欢的视口。

Use the preserveViewport option of the DirectionsRenderer to prevent the automatic zoom to the route, then set the viewport you like.

{preserveViewport: true}

这篇关于渲染方向时不要更改地图中心或缩放级别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆