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 API-结果格式化_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

谷歌地图Javascript API-结果格式化

谷歌地图Javascript API-结果格式化,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我需要在没有地理编码的情况下显示距离矩阵请求的结果。问题是我的位置太近了,因此产生的地理编码地址是相同的 如果我能用变量名或甚至原始的lat/lon坐标对显示结果,我就能区分位置 我查看了距离矩阵响应元素的文档,但没有看到此功能 下面是javascript function initMap() { var bounds = new google.maps.LatLngBounds; var markersArray = []; var origin1 = {lat: 37.2692

我需要在没有地理编码的情况下显示距离矩阵请求的结果。问题是我的位置太近了,因此产生的地理编码地址是相同的

如果我能用变量名或甚至原始的lat/lon坐标对显示结果,我就能区分位置

我查看了距离矩阵响应元素的文档,但没有看到此功能

下面是javascript

function initMap() {
  var bounds = new google.maps.LatLngBounds;
  var markersArray = [];

  var origin1 = {lat: 37.2692332704, lng: -81.7261622975};
  var origin2 = {lat: 37.2625193371, lng:  -81.7183645359};
  var origin3 = {lat: 37.1315998981, lng:  -81.8552666961};
  var destinationA = {lat: 37.1854557602, lng: -81.7946133276};
  var destinationB = {lat: 37.1751720467, lng: -81.792833926};
  var destinationC = {lat: 37.1595851233, lng:  -81.8570206921};

  var destinationIcon = 'https://chart.googleapis.com/chart?' +
      'chst=d_map_pin_letter&chld=D|FF0000|000000';
  var originIcon = 'https://chart.googleapis.com/chart?' +
      'chst=d_map_pin_letter&chld=O|FFFF00|000000';
  var map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: 37.2692332704, lng: -81.7261622975},
    zoom: 8
  });
  var geocoder = new google.maps.Geocoder;

  var service = new google.maps.DistanceMatrixService;
  service.getDistanceMatrix({
    origins: [origin1, origin2,origin3],
    destinations: [destinationA, destinationB,destinationC],
    travelMode: google.maps.TravelMode.DRIVING,
    unitSystem: google.maps.UnitSystem.IMPERIAL,
    avoidHighways: false,
    avoidTolls: false
  }, function(response, status) {
    if (status !== google.maps.DistanceMatrixStatus.OK) {
      alert('Error was: ' + status);
    } else {
      var originList = response.originAddresses;
      var destinationList = response.destinationAddresses;
      var outputDiv = document.getElementById('output');
      outputDiv.innerHTML = '';


      var showGeocodedAddressOnMap = function(asDestination) {
        var icon = asDestination ? destinationIcon : originIcon;
        return function(results, status) {
          if (status === google.maps.GeocoderStatus.OK) {
            map.fitBounds(bounds.extend(results[0].geometry.location));
            markersArray.push(new google.maps.Marker({
              map: map,
              position: results[0].geometry.location,
              icon: icon
            }));
          } else {
            alert('Geocode was not successful due to: ' + status);
          }
        };
      };

      for (var i = 0; i < originList.length; i++) {
        var results = response.rows[i].elements;
        //geocoder.geocode({'address': originList[i]},
            //showGeocodedAddressOnMap(false));
        for (var j = 0; j < results.length; j++) {
          //geocoder.geocode({'address': destinationList[j]},
              //showGeocodedAddressOnMap(true));
          outputDiv.innerHTML += originList[i] + ' to ' + destinationList[j] +
              ': ' + results[j].distance.text + ' in ' +
              results[j].duration.text + '<br>';
        }
      }
    }
  });
}
函数initMap(){
var bounds=new google.maps.LatLngBounds;
var-markersArray=[];
var origin1={lat:37.2692332704,lng:-81.7261622975};
var origin2={lat:37.2625193371,lng:-81.7183645359};
var origin3={lat:37.13159981,lng:-81.8552666961};
var destinationA={lat:37.1854557602,lng:-81.7946133276};
var destinationB={lat:37.1751720467,lng:-81.792833926};
var destinationC={lat:37.1595851233,lng:-81.8570206921};
目的地变量https://chart.googleapis.com/chart?' +
“chst=d|map|u pin|u字母&chld=d|FF0000|000000”;
原始变量https://chart.googleapis.com/chart?' +
“chst=d|u map_pin_letter&chld=O|FFFF00|000000”;
var map=new google.maps.map(document.getElementById('map'){
中心:{lat:37.2692332704,lng:-81.7261622975},
缩放:8
});
var geocoder=new google.maps.geocoder;
var service=new google.maps.DistanceMatrixService;
service.getDistanceMatrix({
起源:[origin1,origin2,origin3],
目的地:[目的地A,目的地B,目的地C],
travelMode:google.maps.travelMode.DRIVING,
unitSystem:google.maps.unitSystem.IMPERIAL,
避免:错误,
避免收费:错误
},功能(响应、状态){
if(status!==google.maps.DistanceMatrixStatus.OK){
警报(“错误为:”+状态);
}否则{
var originList=response.originAddresses;
var destinationList=response.destinationaddress;
var outputDiv=document.getElementById('output');
outputDiv.innerHTML='';
var showGeocodedAddressOnMap=函数(作为目标){
var icon=asDestination?目的地:originIcon;
返回函数(结果、状态){
if(status==google.maps.GeocoderStatus.OK){
map.fitBounds(bounds.extend(结果[0].geometry.location));
markersArray.push(新的google.maps.Marker)({
地图:地图,
位置:结果[0]。geometry.location,
图标:图标
}));
}否则{
警报('由于:'+状态,地理编码未成功);
}
};
};
对于(变量i=0;i';
}
}
}
});
}

提前感谢。

结果将按要求的顺序返回

origin1 - destination1 origin1 - destination2 origin1 - destination3 origin2 - destination1 --- origin3 - destination3