Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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 按里程、升序排列值的函数 联合=设施射线 .map((设施,i)=>({ 设施, 距离:距离数组[i], 时间:时间数组[i], 地址:传真地址[i] })) .sort((第一,第二)=>first.distance-second.distance); 控制台日志(组合); }; renderTemplate=async()=>{ 等待排序值(); log(“renderTemplate已启动”); //html中的抓取容器div入口点 let container=document.querySelector(“.container sm”); for(设i=0;i{ e、 预防默认值(); const patientAddressInput=document.querySelector(“#patientaddress”); //获取用户条目并在动态创建的HTML中分配给inputVal inputVal.push(patientAddressInput.value); fetchAPI(); log(“监听器被激发”); }); resetButton.addEventListener(“单击“,()=>location.reload()) Ethos服务中心-谷歌地图距离搜索 病人目的地 提交 明确目的地_Javascript_Async Await_Fetch Api - Fatal编程技术网

Javascript 按里程、升序排列值的函数 联合=设施射线 .map((设施,i)=>({ 设施, 距离:距离数组[i], 时间:时间数组[i], 地址:传真地址[i] })) .sort((第一,第二)=>first.distance-second.distance); 控制台日志(组合); }; renderTemplate=async()=>{ 等待排序值(); log(“renderTemplate已启动”); //html中的抓取容器div入口点 let container=document.querySelector(“.container sm”); for(设i=0;i{ e、 预防默认值(); const patientAddressInput=document.querySelector(“#patientaddress”); //获取用户条目并在动态创建的HTML中分配给inputVal inputVal.push(patientAddressInput.value); fetchAPI(); log(“监听器被激发”); }); resetButton.addEventListener(“单击“,()=>location.reload()) Ethos服务中心-谷歌地图距离搜索 病人目的地 提交 明确目的地

Javascript 按里程、升序排列值的函数 联合=设施射线 .map((设施,i)=>({ 设施, 距离:距离数组[i], 时间:时间数组[i], 地址:传真地址[i] })) .sort((第一,第二)=>first.distance-second.distance); 控制台日志(组合); }; renderTemplate=async()=>{ 等待排序值(); log(“renderTemplate已启动”); //html中的抓取容器div入口点 let container=document.querySelector(“.container sm”); for(设i=0;i{ e、 预防默认值(); const patientAddressInput=document.querySelector(“#patientaddress”); //获取用户条目并在动态创建的HTML中分配给inputVal inputVal.push(patientAddressInput.value); fetchAPI(); log(“监听器被激发”); }); resetButton.addEventListener(“单击“,()=>location.reload()) Ethos服务中心-谷歌地图距离搜索 病人目的地 提交 明确目的地,javascript,async-await,fetch-api,Javascript,Async Await,Fetch Api,我找到了一种方法来做到这一点,尽管这是一种刻薄、俗气的方法,可能不是最有效的方法。我在循环的末尾添加了一个三元运算符,用于检查I的值是否等于数组中最后一个元素的索引值。如果是,请等待1秒(通过运行setTimeout函数)让DistanceMatrix调用运行,这样我就有了一些值,然后调用sortValues函数。至少它是有效的。所有代码都是相同的,但这里添加了带有三元运算符和设置超时的callFetch函数 callFetch = async dataObject => { co

我找到了一种方法来做到这一点,尽管这是一种刻薄、俗气的方法,可能不是最有效的方法。我在循环的
末尾添加了一个三元运算符,用于检查
I
的值是否等于数组中最后一个元素的索引值。如果是,请等待1秒(通过运行setTimeout函数)让DistanceMatrix调用运行,这样我就有了一些值,然后调用
sortValues
函数。至少它是有效的。所有代码都是相同的,但这里添加了带有三元运算符和设置超时的
callFetch
函数

callFetch = async dataObject => {
    console.log("callFetch fired");
    // Map through the data object and grab the facId and address of each location
    const facId = dataObject.data.map(e => e["6"].value);
    const addresses = dataObject.data.map(e => e["8"].value);
    // Create Google Maps distance service instance
    distanceService = new google.maps.DistanceMatrixService();

    for (let i = 0; i < addresses.length; i++) {
        // Add matrix settings object
        distanceService.getDistanceMatrix({
                origins: [inputVal.toString("")],
                destinations: [addresses[i]],
                travelMode: "DRIVING",
                unitSystem: google.maps.UnitSystem.IMPERIAL,
                durationInTraffic: true,
                avoidHighways: false,
                avoidTolls: false,
            },
            // Set response and error capture
            (response, status) => {
                if (status !== google.maps.DistanceMatrixStatus.OK) {
                    console.log("Error:", status);
                    const message = document.querySelector("#message");
                    message.innerHTML = `Error: ${status}. Please resubmit.`;
                } else {
                    distanceResult = response.rows[0].elements[0].distance.text;
                    timeResult = response.rows[0].elements[0].duration.text;
                    // Convert distanceResult values to integers and push to distanceArray to later sort
                    intDistanceResult = parseInt(distanceResult.replace(/,/g, ""));
                    // Push results to respective arrays to pass to combined object inside of sortValues function
                    facilityArray.push(facId[i]);
                    distanceArray.push(intDistanceResult);
                    timeArray.push(timeResult);
                    facAddress.push(addresses);
                }
            });
        (i == addresses.length - 1 ? setTimeout(() => { sortValues() }, 1000) : null)
    }
};
callFetch=async dataObject=>{
log(“callFetch被激发”);
//映射数据对象并获取每个位置的facId和地址
const facId=dataObject.data.map(e=>e[“6”].value);
const addresses=dataObject.data.map(e=>e[“8”].value);
//创建谷歌地图远程服务实例
distanceService=new google.maps.DistanceMatrixService();
for(设i=0;i{
if(status!==google.maps.DistanceMatrixStatus.OK){
日志(“错误:”,状态);
const message=document.querySelector(“消息”);
message.innerHTML=`错误:${status}。请重新提交。`;
}否则{
distanceResult=response.rows[0]。元素[0]。distanceResult.text;
timeResult=response.rows[0]。元素[0]。duration.text;
//将distanceResult值转换为整数,并将distanceArray推送到以后的排序
intDistanceResult=parseInt(distanceResult.replace(/,/g,”);
//将结果推送到各自的数组,以传递到sortValues函数内部的组合对象
设施推送(设施[i]);
distanceArray.push(intDistanceResult);
timeArray.push(timeResult);
facadress.push(地址);
}
});
(i==addresses.length-1?setTimeout(()=>{sortValues()},1000):null)
}
};

我找到了一种方法来做到这一点,尽管这是一种刻薄、俗气的方法,可能不是最有效的方法。我在循环
末尾添加了一个三元运算符,用于检查
I
的值是否等于数组中最后一个元素的索引值。如果是,请等待1秒(通过运行setTimeout函数)让DistanceMatrix调用运行,这样我就有了一些值,然后调用
sortValues
函数。至少它是有效的。所有代码都是相同的,但这里添加了带有三元运算符和设置超时的
callFetch
函数

callFetch = async dataObject => {
    console.log("callFetch fired");
    // Map through the data object and grab the facId and address of each location
    const facId = dataObject.data.map(e => e["6"].value);
    const addresses = dataObject.data.map(e => e["8"].value);
    // Create Google Maps distance service instance
    distanceService = new google.maps.DistanceMatrixService();

    for (let i = 0; i < addresses.length; i++) {
        // Add matrix settings object
        distanceService.getDistanceMatrix({
                origins: [inputVal.toString("")],
                destinations: [addresses[i]],
                travelMode: "DRIVING",
                unitSystem: google.maps.UnitSystem.IMPERIAL,
                durationInTraffic: true,
                avoidHighways: false,
                avoidTolls: false,
            },
            // Set response and error capture
            (response, status) => {
                if (status !== google.maps.DistanceMatrixStatus.OK) {
                    console.log("Error:", status);
                    const message = document.querySelector("#message");
                    message.innerHTML = `Error: ${status}. Please resubmit.`;
                } else {
                    distanceResult = response.rows[0].elements[0].distance.text;
                    timeResult = response.rows[0].elements[0].duration.text;
                    // Convert distanceResult values to integers and push to distanceArray to later sort
                    intDistanceResult = parseInt(distanceResult.replace(/,/g, ""));
                    // Push results to respective arrays to pass to combined object inside of sortValues function
                    facilityArray.push(facId[i]);
                    distanceArray.push(intDistanceResult);
                    timeArray.push(timeResult);
                    facAddress.push(addresses);
                }
            });
        (i == addresses.length - 1 ? setTimeout(() => { sortValues() }, 1000) : null)
    }
};
callFetch=async dataObject=>{
log(“callFetch被激发”);
//映射数据对象并获取每个位置的facId和地址
const facId=dataObject.data.map(e=>e[“6”].value);
const addresses=dataObject.data.map(e=>e[“8”].value);
//创建谷歌地图远程服务实例
distanceService=new google.maps.DistanceMatrixService();
for(设i=0;i