Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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_Php_Google Maps_Google Distancematrix Api - Fatal编程技术网

Javascript 谷歌地图距离矩阵错误“;原文地址:[“南,南”]

Javascript 谷歌地图距离矩阵错误“;原文地址:[“南,南”],javascript,php,google-maps,google-distancematrix-api,Javascript,Php,Google Maps,Google Distancematrix Api,我正在为一个应用程序开发一个搜索字段,其中用户键入地址或机构名称,系统动态返回。我使用Google Maps距离矩阵API进行计算,但参数“origins”不接受返回的HTML的地理位置传递的值 {“行”:[{“元素”:[{“状态”:“零结果”}]}],“原始地址”:[“nan,nan”],“目标地址”:[“-25.494926,-49.2944999996”]} 我手动测试的“destinationAddress” function initMap() { const autocomp

我正在为一个应用程序开发一个搜索字段,其中用户键入地址或机构名称,系统动态返回。我使用Google Maps距离矩阵API进行计算,但参数“origins”不接受返回的HTML的地理位置传递的值

{“行”:[{“元素”:[{“状态”:“零结果”}]}],“原始地址”:[“nan,nan”],“目标地址”:[“-25.494926,-49.2944999996”]}

我手动测试的“destinationAddress”

function initMap() {
    const autocomplete = new google.maps.places.Autocomplete(document.getElementById('searchBox'));

    var x = document.getElementById("geolocation");

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Não foi possível obter sua localização atual. A versão atual do navegador é antiga ou a detecção de localização está desabilitada.";
    }

    function showPosition (position) {
        //Put on div the id geolocation the logitude and latitude
        x.innerHTML = position.coords.latitude + ", " + position.coords.longitude

        getDistance();
    }
}

function getDistance() {
    // Get what is written in the div with id geolocation and put in variable cdata
    // Giving alert in cdata correctly displays the user's current longitude and latitude
    var cdata = document.getElementById('geolocation').innerHTML;
    var origin1 = new google.maps.LatLng(cdata); //retorn ['nan, nan'] ?? wtf
    var destination = new google.maps.LatLng(-25.494926, -49.294445);

    var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix(
        {
            origins: [origin1],
            destinations: [destination],
            travelMode: 'DRIVING'
        }, callback);
}

function callback(response, status) {
    var x = document.getElementById("geolocation");
    alert(JSON.stringify(response));
}

$("#searchForm").keyup(function () {
    var search = $("#searchBox").val();
    $.post('includes/establishmentSearch.inc.php', {searchForm: search}, function(data){
        $('#searchResponse').html(data);
        if (search == '') {
            $("#searchResponse").empty();
            $(".groupSepare").show();
        } else {
            $(".groupSepare").hide();
        }
    });
});

详细信息:我只使用纬度和经度,不使用任何google地图,因为我只需要位置数据。

cdata
是一个字符串。
google.maps.LatLng
构造函数接受两个数字作为参数

var cdata = document.getElementById('geolocation').innerHTML;
var coords = cdata.split(",");
var origin1 = new google.maps.LatLng(coords[0], coords[1]); 

代码片段:

函数initMap(){
const autocomplete=new google.maps.places.autocomplete(document.getElementById('searchBox');
var x=document.getElementById(“地理位置”);
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}否则{
x、 innerHTML=“不允许在当地进行非法交易。禁止在当地进行非法交易。”;
}
功能显示位置(位置){
//放在div上id地理位置逻辑度和纬度
x、 innerHTML=position.coords.latitude+“,”+position.coords.longitude
getDistance();
}
}
函数getDistance(){
//使用id geolocation获取写入div中的内容,并将其放入变量cdata中
//在cdata中发出警报可正确显示用户当前的经度和纬度
var cdata=document.getElementById('geolocation').innerHTML;
console.log(cdata);
var coords=cdata.split(“,”);
var origin1=新的google.maps.LatLng(coords[0],coords[1]);
var destination=new google.maps.LatLng(-25.494926,-49.294445);
var service=new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
起源:[原文1],
目的地:[目的地],
travelMode:“驾驶”
},回调);
}
函数回调(响应、状态){
var x=document.getElementById(“地理位置”);
警报(JSON.stringify(响应));
}
$(“#searchForm”).keyup(函数(){
var search=$(“#searchBox”).val();
$.post('includes/buildmentsearch.inc.php'{
搜索表格:搜索
},函数(数据){
$('#searchResponse').html(数据);
如果(搜索=“”){
$(“#searchResponse”).empty();
$(“.groupSepare”).show();
}否则{
$(“.groupSepare”).hide();
}
});
});

Thx的家伙,我想进行某种转换,但我不知道该怎么办