Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 返回Google距离矩阵0_结果 前言_Javascript_Google Maps_Google Maps Api 3_Google Api_Distance - Fatal编程技术网

Javascript 返回Google距离矩阵0_结果 前言

Javascript 返回Google距离矩阵0_结果 前言,javascript,google-maps,google-maps-api-3,google-api,distance,Javascript,Google Maps,Google Maps Api 3,Google Api,Distance,我使用谷歌地图API已经有相当一段时间了,之前我已经成功地使用了距离矩阵服务。然后我决定做一些重构,出现了一些问题 当前问题 尝试获取距离矩阵服务的结果时,行对象包含一个空(状态:零结果)对象数组 运行时的空对象如下: 通常如下所示: 代码 一个coords数组被传递到distanceMatrixCoords()函数中。它们看起来像这样: 以及其他变量,如var origins=pos已使用坐标字符串正确填充 包含此代码的整个文件是 function distanceMatrixCoord

我使用谷歌地图API已经有相当一段时间了,之前我已经成功地使用了距离矩阵服务。然后我决定做一些重构,出现了一些问题

当前问题 尝试获取距离矩阵服务的结果时,
对象包含一个空(
状态:零结果
)对象数组

运行时的空对象如下:

通常如下所示:

代码 一个
coords
数组被传递到
distanceMatrixCoords()
函数中。它们看起来像这样:

以及其他变量,如
var origins=pos已使用坐标字符串正确填充

包含此代码的整个文件是

function distanceMatrixCoords(coords) {
    var origins = pos;
    var destinations = coords;
    var service = new google.maps.DistanceMatrixService();

    service.getDistanceMatrix({
            origins: [origins],
            destinations: destinations,
            travelMode: google.maps.TravelMode.DRIVING,
            unitSystem: google.maps.UnitSystem.IMPERIAL,
            avoidHighways: false,
            avoidTolls: false
        },
        callback
    );

    function callback(response, status) {
        if (status == google.maps.DistanceMatrixStatus.OK) {
            var origins = response.originAddresses;
            var destinations = response.destinationAddresses;
            var distanceElement = [];
            var theRow = null;

            for (var i = 0; i < origins.length; i++) {
                
                var results = response.rows[i].elements;

                for (var j = 0; j < results.length; j++) {
                    var element = results[j];
                    var distance = element.distance.text;
                    var duration = element.duration.text;
                    var from = origins[i];
                    var to = destinations[j];

                    distanceElement[j] = document.createElement('p');
                    distanceElement[j].innerHTML = results[j].distance.text;
                    distanceElement[j].className = 'distance-cell';
                }
            }
        }
    }

}
函数距离矩阵坐标(坐标){
var=pos;
var目的地=坐标;
var service=new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
来源:[来源],
目的地:目的地,
travelMode:google.maps.travelMode.DRIVING,
unitSystem:google.maps.unitSystem.IMPERIAL,
避免:错误,
避免收费:错误
},
回拨
);
函数回调(响应、状态){
if(status==google.maps.DistanceMatrixStatus.OK){
var origins=response.originAddresses;
var destinations=response.destinationaddress;
var distanceElement=[];
var-theRow=null;
对于(变量i=0;i
最后,根据上面的代码,行
var results=response.rows[i].elements是代码中断的地方<代码>响应。行
是数组中具有多个零结果的对象。与我以前的代码(上面链接)相比,
distanceMatrixCoords()
函数接收的数据类型与以前完全相同

传递到
callback()
函数的
response
对象包含以下值:

destinationaddress
originaddress
使用类似于此逗号分隔值的坐标正确填充,
“41.0259285,81.5899887”
。再一次,问题是
数组


我查看了许多其他来源以获得答案,但谷歌地图API的距离矩阵服务似乎没有太多可用的资源。我看到了,但还没有记录答案。

问题是我的坐标被错误地从我为获取数据而构建的服务返回。例如,当坐标应为
41.0259285,-81.5899887
时,坐标为
41.0259285,81.5899887
。经度前面的减号丢失,因此坐标无效,距离矩阵服务不知道如何处理它们。

我也有类似的问题,但没有指定“地区”(又名国家代码),并发送了一个“目的地”,即美国的一个地方,以及一组长/纬度坐标

添加预期的国家/地区修复了该问题