2

我已经使用谷歌地图 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 个位置在同一个国家/地区内,则效果很好,即它们有路线图。

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

任何人都可以请帮忙。

提前致谢。

4

1 回答 1

2

问题不在于不同的大陆,而在于路由引擎的数据库是否包含有关起点和终点之间所有国家/地区的信息,包括汽车渡轮。您可以在 maps.google.com 中看到同样的情况。这是一条从欧洲到印度的洲际航线,但是如果您尝试将 B 标记移动到美国或加拿大,它不会获得航线,因为它不知道有渡轮穿越大西洋。您可以在此电子表格中查看覆盖哪些国家/地区。

于 2012-08-03T09:53:51.210 回答