Google地图API不会在不同的大陆上绘制

时间:2012-08-03 09:16:31

标签: javascript html5 api google-maps google-maps-api-3

我使用谷歌地图API在谷歌地图上绘制一个方向点

我参考了以下页面:

https://developers.google.com/maps/documentation/javascript/directions

'在路线中使用路标部分'并对其进行一些修改,以便在地图上仅绘制3个点。 以下是我的javascript代码。

var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function initialize() {
    directionsDisplay = new google.maps.DirectionsRenderer();
    var initialloc = new google.maps.LatLng(12.971599, 77.594563);
    var mapOptions = {
        zoom : 6,
        mapTypeId : google.maps.MapTypeId.ROADMAP,
        center : initialloc
    }
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
    directionsDisplay.setMap(map);
    calcRoute();

}

function calcRoute() {
    var lat = new Array();
    var lon = new Array();

    var start = new google.maps.LatLng(12.971599,77.594563);
    var mid = new google.maps.LatLng(12.971558,77.594552);
    var end = new google.maps.LatLng(12.971558,77.594552);

    var waypts = [];
    waypts.push( {
        location : mid,
        stopover : true
    });


    var request = {
        origin : start,
        destination : end,
        waypoints : waypts,
        optimizeWaypoints : true,
        travelMode : google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(
                    request,
                    function(response, status) {
                        if (status == google.maps.DirectionsStatus.OK) {
                            directionsDisplay.setDirections(response);
                            var route = response.routes[0];

                        }
                    });

}

如果3个地点位于同一个国家/地区,那么它们就可以完美地运行,即它们有路线图。

我的问题是当地点位于不同的大陆时如何绘制地图,例如印度和澳大利亚?

任何人都可以帮忙。

先谢谢。

1 个答案:

答案 0 :(得分:2)

问题不在于不同的大陆,而是路由引擎的数据库是否包含有关起点和终点之间所有国家/地区的信息,包括汽车渡轮。您可以在maps.google.com中看到相同的情况。 Here's an intercontinental route从欧洲到印度,但是如果你试图将B标记移动到美国或加拿大,它就不会有路线,因为它不知道横跨大西洋的渡轮。 您可以在this spreadsheet中查看哪些国家/地区已覆盖。