-1

ST_DISTANCE AS «расстояние» не работает на код ниже:выберите st_distance как «расстояние» не работает в сводную таблицу Google

var query = "SELECT 'Coordinates' as 'Coordinates', " + 
    "'Lender_Name' as 'Lender_Name', " + 
    "'ZIP_Code' as 'ZIP_Code' , " + 
    "ST_DISTANCE('Coordinates', 'LATLNG(" + lat + " " + long + ")') AS 'distance' " + 
    " FROM " + tableid + " ORDER BY ST_DISTANCE(Coordinates, LATLNG(" + lat + "," + long + ")) LIMIT 5"; 

Когда я использую без ST_DISTANCE как расстояние это работает прекрасно для меня:

var query = "SELECT 'Coordinates' as 'Coordinates', " + 
    "'Lender_Name' as 'Lender_Name', " + 
    "'ZIP_Code' as 'ZIP_Code' " + 
    " FROM " + tableid + " ORDER BY ST_DISTANCE(Coordinates, LATLNG(" + lat + "," + long + ")) LIMIT 5"; 

Может ли кто-нибудь помочь мне, как я могу получить st_distance в псевдониме?

+1

Пожалуйста, уточните, что вы подразумеваете под "нерабочим". –

+0

Hi jim, \t \t \t \t Благодарим за быстрый ответ. \t \t \t Фактически я работаю на расстоянии между двумя местоположениями, использующими lat long. \t \t \t \t, когда я использую следующий запрос для получения расстояния, в этот раз он не работает для меня. \t \t \t \t "ST_DISTANCE ('Координаты', 'LatLng (" + лат + "" + длинный + ")') AS 'расстояние'" + \t \t \t \t Можете ли вы помочь мне услышать или предложить мне любой другой вариант. Как рассчитать расстояние между двумя местоположениями. –

+0

Я хочу рассчитать расстояние между двумя местами, не могли бы вы мне помочь? –

ответ

0

Я получил решение по следующему коду.

function initialize() { 
     //CONVERT THE MAP DIV TO A FULLY-FUNCTIONAL GOOGLE MAP 
     var mapOptions = { 
      zoom: 8, 
      center: new google.maps.LatLng(-34.397, 150.644), 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 


     var output = '<tr><th scope="col">From</th><th scope="col">To</th><th scope="col">Miles</th></tr>'; 


     var currZipCode = 99929; 
     currZipCode = currZipCode.toString(); 

     var destinationZipCode = 99803; 
     destinationZipCode = destinationZipCode.toString(); 

     calcMileage(); 
     function calcMileage() {     

      var service = new google.maps.DistanceMatrixService(); 
      service.getDistanceMatrix({ 
        origins:  [ currZipCode ], 
        destinations: [ destinationZipCode ], 
        travelMode: google.maps.TravelMode.DRIVING, 
        unitSystem: google.maps.UnitSystem.IMPERIAL 
       }, function(response, status) {     
        if(status == google.maps.DistanceMatrixStatus.OK) { 
         var tempDistance = response.rows[0].elements[0].distance.text; 
        } else { 
         var tempDistance = 'ERROR'; 
        }    
        //STORE CURRENT OUTPUT AND GET THE NEXT DESTINATION   
        output += '<tr><td>' + currZipCode + '</td><td>' + destinationZipCode + '</td><td>' + tempDistance + '</td></tr>';     

        displayResults();   
       } 
      ); 
      function displayResults() {   
       document.getElementById('zip_code_output').innerHTML = '<table cellpadding="5">' + output + '</table>';  
      }    
     } 
    } 

    function loadScript() {  
     var script = document.createElement("script");  
     script.type = "text/javascript";  
     script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize"; 
     document.body.appendChild(script); 
    } 
    //START THE SCRIPT (AFTER THE PAGE LOADS) 
    window.onload = loadScript;