Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在路线中使用航路点-方向服务谷歌地图_Javascript_Google Maps - Fatal编程技术网

Javascript 在路线中使用航路点-方向服务谷歌地图

Javascript 在路线中使用航路点-方向服务谷歌地图,javascript,google-maps,Javascript,Google Maps,如果我将航路点添加到我的谷歌地图-calcRoute功能不起作用。 如何正确设置航路点 谢谢 <script> var directionDisplay; var directionsService = new google.maps.DirectionsService(); var map; function initialize() { directionsDisplay = new google.maps.Dir

如果我将航路点添加到我的谷歌地图-calcRoute功能不起作用。 如何正确设置航路点

谢谢

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

      function initialize() {
        directionsDisplay = new google.maps.DirectionsRenderer();
        var chicago = new google.maps.LatLng(41.850033, -87.6500523);
        var mapOptions = {
          zoom:55,
          mapTypeId: google.maps.MapTypeId.ROADMAP,
          center: chicago
        }
        map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
        directionsDisplay.setMap(map);
      }

      function calcRoute() {

        var start = "Berlin";
        var end = "Paris";
        var waypts = ["Frankfurt"];

    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);
          }
        });
      }
    </script>

方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量映射选项={
缩放:55,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
}
函数calcRoute(){
var start=“柏林”;
var end=“巴黎”;
var waypts=[“法兰克福”];
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}
});
}

阅读您引用的文档时,字符串“Frankfurt”无效

位置为“法兰克福”的单个航路点如下所示:

[{ location: "Frankfurt", stopover: false}]
适当设置中途停留的值

代码片段:

var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量映射选项={
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
calcRoute();
}
函数calcRoute(){
var start=“柏林”;
var end=“巴黎”;
var waypts=[{
地点:“法兰克福”,
中途停留:错误
}];
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}else警报(“指示请求失败,状态=“+状态”)
});
}
初始化()
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图画布{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“机器人”,“无衬线”;
线高:30px;
左侧填充:10px;
}

方向服务

阅读您引用的文档时,字符串“Frankfurt”无效

位置为“法兰克福”的单个航路点如下所示:

[{ location: "Frankfurt", stopover: false}]
适当设置中途停留的值

代码片段:

var方向显示;
var directionsService=new google.maps.directionsService();
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var chicago=new google.maps.LatLng(41.850033,-87.6500523);
变量映射选项={
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:芝加哥
}
map=new google.maps.map(document.getElementById('map_canvas'),mapOptions);
方向显示.setMap(地图);
calcRoute();
}
函数calcRoute(){
var start=“柏林”;
var end=“巴黎”;
var waypts=[{
地点:“法兰克福”,
中途停留:错误
}];
var请求={
来源:start,
目的地:完,
航路点:航路点,
航路点:对,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
}else警报(“指示请求失败,状态=“+状态”)
});
}
初始化()
/*始终明确设置贴图高度以定义div的大小
*包含映射的元素*/
#地图画布{
身高:100%;
}
/*可选:使示例页面填充窗口*/
html,
身体{
身高:100%;
保证金:0;
填充:0;
}
#浮动面板{
位置:绝对位置;
顶部:10px;
左:25%;
z指数:5;
背景色:#fff;
填充物:5px;
边框:1px实心#999;
文本对齐:居中;
字体系列:“机器人”,“无衬线”;
线高:30px;
左侧填充:10px;
}

方向服务

下面的脚本可能会对您有所帮助

    <script>     
    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    function showmap() 
    {   
          jQuery.ajax({
            type: "POST",
            url: "getLocations", 
            dataType:"json",
            success: function(data){         
            var obj = jQuery.parseJSON(data);   
          var LocationData=[];
          var i=0; 
            obj.forEach(function(entry) { 
              entry.forEach(function(test){                        
              LocationData[i] = test
              i++;                
            });                 
            }); 
          var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 15,
            center: new google.maps.LatLng(LocationData[0].latitude,LocationData[0].longitude),
            mapTypeId: google.maps.MapTypeId.ROADMAP
          });

          directionsDisplay = new google.maps.DirectionsRenderer();
          directionsDisplay.setMap(map); 
          var start = new google.maps.LatLng(LocationData[0].latitude,LocationData[0].longitude); 
          var end = new google.maps.LatLng(LocationData[obj[0].length-1].latitude,LocationData[obj[0].length-1].longitude); 
          var waypts = [];
          var upto = obj[0].length-1;
          if(upto > 7)
            upto = 7;
          if(obj[0].length > 2) {
          for (var i = 1; i < upto; i++) {
              waypts.push({
                location: new google.maps.LatLng(LocationData[i].latitude,LocationData[i].longitude),
                stopover: true
              });
            }
          }
          calcRoute(start,end,waypts);
        }
         });        
    }

    function calcRoute(start,end,waypts) { 
      var request = {
          origin: start,
          destination: end,
          waypoints: waypts,
          travelMode: google.maps.DirectionsTravelMode.DRIVING
      };
      directionsService.route(request, function(response, status) {
        if (status == google.maps.DirectionsStatus.OK) {
          directionsDisplay.setDirections(response);
        }
      });
    }
    </script>

var方向显示;
var directionsService=new google.maps.directionsService();
函数showmap()
{   
jQuery.ajax({
类型:“POST”,
url:“getLocations”,
数据类型:“json”,
成功:函数(数据){
var obj=jQuery.parseJSON(数据);
var LocationData=[];
var i=0;
obj.forEach(函数(条目){
entry.forEach(函数(测试){
位置数据[i]=测试
i++;
});                 
}); 
var map=new google.maps.map(document.getElementById('map'){
缩放:15,
中心:新建google.maps.LatLng(LocationData[0]。纬度,LocationData[0]。经度),
mapT