Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Google maps DirectionService未按代码要求工作_Google Maps - Fatal编程技术网

Google maps DirectionService未按代码要求工作

Google maps DirectionService未按代码要求工作,google-maps,Google Maps,我正在尝试使用谷歌地图的DirectionsService在我经过的任何两个地点之间建立路线。这些地点正在动态地向我走来。但我面临的问题是,当接下来的2个坐标出现时,它会删除以前的路线,并显示带有新坐标的新路线。我也不能使用航路点,因为最多允许8个航路点,我需要更多。 这是我的密码: var marker; var map; var mapOptions; var directionsDisplay; var directionsService = new google.maps.Directi

我正在尝试使用谷歌地图的DirectionsService在我经过的任何两个地点之间建立路线。这些地点正在动态地向我走来。但我面临的问题是,当接下来的2个坐标出现时,它会删除以前的路线,并显示带有新坐标的新路线。我也不能使用航路点,因为最多允许8个航路点,我需要更多。 这是我的密码:

var marker;
var map;
var mapOptions;
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var iconBase = 'https://maps.google.com/mapfiles/kml/shapes/';
function initialize() {

  var rendererOptions = {
    map : map,
    suppressMarkers : true
  }
  directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
  mapOptions = {
    zoom: 12,
    center: new google.maps.LatLng(23.53265,77.754812)
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);
  directionsDisplay.setMap(map);


}
//var image = 'C:\Users\Samir\Desktop\download.jpg';
var start = new google.maps.LatLng(23.32654,77.32685);

function Plot_Data(latlng){

    //end = new google.maps.LatLng(lat,lng);
    marker = new google.maps.Marker({
    position: latlng ,
    map: map

    });

    var request = {
      origin:start,
      destination:latlng,
      travelMode: google.maps.TravelMode.DRIVING
  };
  directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
    }
  });

   start = latlng;


}

directionsRenderer一次只显示一条管线。每次调用Plot_Data函数时都会添加一个新函数,但仍受API速率和查询限制的限制:

var marker;
var map;
var mapOptions;
var directionsDisplay = [];
var directionsService = new google.maps.DirectionsService();
var iconBase = 'https://maps.google.com/mapfiles/kml/shapes/';
function initialize() {

  var rendererOptions = {
    map : map,
    suppressMarkers : true
  }
  directionsDisplay.push(new google.maps.DirectionsRenderer(rendererOptions));
  mapOptions = {
    zoom: 12,
    center: new google.maps.LatLng(23.53265,77.754812)
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);
  directionsDisplay.setMap(map);
}
//var image = 'C:\Users\Samir\Desktop\download.jpg';
var start = new google.maps.LatLng(23.32654,77.32685);

function Plot_Data(latlng){

    //end = new google.maps.LatLng(lat,lng);
    marker = new google.maps.Marker({
    position: latlng ,
    map: map

    });

    var request = {
      origin:start,
      destination:latlng,
      travelMode: google.maps.TravelMode.DRIVING
  };
  directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay[directionsDisplay.length-1].setDirections(response);
      directionsDisplay[directionsDisplay.length-1].setMap(map);
      directionsDisplay.push(new google.maps.DirectionsRenderer(rendererOptions));
    } else alert("directions request failed: " +status);
  });
   start = latlng;
}