Google maps 谷歌地图API v3 JS map.fitbunds

Google maps 谷歌地图API v3 JS map.fitbunds,google-maps,Google Maps,我在使用map.fitbounds时遇到了一点问题。我在地图上经过两个点,并在这一边使用方向服务。我正在使用map.fitbounds将地图居中于两个给定点之间,但遇到了一个问题,即地图实际上最终显示了代码这一特定部分的世界视图: <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javas

我在使用map.fitbounds时遇到了一点问题。我在地图上经过两个点,并在这一边使用方向服务。我正在使用map.fitbounds将地图居中于两个给定点之间,但遇到了一个问题,即地图实际上最终显示了代码这一特定部分的世界视图:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
    window.addEvent('domready', function() {    
        initialize();
    });

    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    var currentDirections = null;

    var clat = 52.03574;
    var clng = 0.58363;
    var dlat = 51.08577;
    var dlng = -1.31712;

    function initialize() 
    {
        var mOptions = {
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map($("mapCanvas"), mOptions);

        directionsDisplay = new google.maps.DirectionsRenderer({
            'map': map,
            'preserveViewport': true,
            'draggable': true//,
            //'suppressMarkers': true
        });
        directionsDisplay.setPanel($("directions_panel"));

        google.maps.event.addListener(directionsDisplay, 'directions_changed', function() {
            currentDirections = directionsDisplay.getDirections();
        });

        var start = 'Little Yeldham, Halstead, Essex CO9 4JZ, UK';
        var end = 'Winchester, Hampshire SO21, UK';
        var request = {
            origin: start,
            destination: end,
            travelMode: google.maps.DirectionsTravelMode.DRIVING,
            unitSystem: google.maps.DirectionsUnitSystem.IMPERIAL
        };
        directionsService.route(request, function(response, status) {
            if (status == google.maps.DirectionsStatus.OK) {
                directionsDisplay.setMap(map);
                directionsDisplay.setDirections(response);
            }
        });

        var collectionPoint = new google.maps.LatLng(clat, clng);
        var deliveryPoint = new google.maps.LatLng(dlat, dlng);
        var bounds = new google.maps.LatLngBounds(collectionPoint, deliveryPoint);
        map.fitBounds(bounds);
    }

</script>

addEvent('domready',function(){
初始化();
});
var方向显示;
var directionsService=new google.maps.directionsService();
var currentDirections=null;
var clat=52.03574;
var-clng=0.58363;
var-dlat=51.08577;
var-dlng=-1.31712;
函数初始化()
{
变量mOptions={
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map($(“mapCanvas”),mOptions;
directionsDisplay=新建google.maps.DirectionsRenderer({
“地图”:地图,
“保存视口”:对,
“可拖动”:true/,
//“suppressMarkers”:true
});
directionsDisplay.setPanel($(“方向面板”);
google.maps.event.addListener(directionsDisplay,'directions_changed',function(){
currentDirections=directionsDisplay.getDirections();
});
var start=‘英国埃塞克斯郡哈尔斯特德小耶尔达姆CO9 4JZ’;
var end=‘英国汉普郡温彻斯特SO21’;
var请求={
来源:start,
目的地:完,
travelMode:google.maps.Directions travelMode.DRIVING,
unitSystem:google.maps.Directions unitSystem.IMPERIAL
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示.setMap(地图);
方向显示。设置方向(响应);
}
});
var collectionPoint=new google.maps.LatLng(clat,clng);
var deliveryPoint=new google.maps.LatLng(dlat,dlng);
var bounds=new google.maps.LatLngBounds(collectionPoint,deliveryPoint);
映射边界(bounds);
}
有人能帮我或给我指出正确的方向吗?如何简单地显示正确的显示距离?

编辑:刚刚发现类似问题。因此,一个可能的解决方案是创建一个空边界并开始扩展它

我自己的代码如下所示:

var bounds = new google.maps.LatLngBounds();
for(var i=0;i<this.markers.length;i++){
    bounds.extend(this.markers[i].getPosition());
}
this.map.fitBounds(bounds);
var-bounds=new google.maps.LatLngBounds();
对于(var i=0;i