2
我有兩個緯度/長表,每行1000行。我想使用Google Map API計算兩個緯度/經度之間的距離,並使用DB存儲距離。 代碼工作正常,但捕獲的是如何從JavaScript返回計算的距離。我試圖隱藏字段存儲的距離,因爲我已經寫在頁面加載下面的代碼,但它不工作:如何獲得C#中的Javascript變量值#
SqlConnection sql_con = new SqlConnection("Database=myDB;Server=mySever;User Id=myID;password=PWD");
SqlCommand sql_cmd = new SqlCommand("select Zip,Latitude,Longitude from ZipCodes", sql_con);
SqlDataAdapter sql_adt = new SqlDataAdapter(sql_cmd);
DataSet dsZip = new DataSet();
sql_adt.Fill(dsZip);
sql_cmd = new SqlCommand("select * from MyPlaceLatLong", sql_con);
sql_adt = new SqlDataAdapter(sql_cmd);
DataSet dsStore = new DataSet();
sql_adt.Fill(dsStore);
for (int zcnt = 0; zcnt < dsZip.Tables[0].Rows.Count; zcnt++)
{
for (int i = 0; i < dsStore.Tables[0].Rows.Count; i++)
{
Page.ClientScript.RegisterClientScriptBlock(GetType(), "myScssript", "<script>" +
"var origin1 = new google.maps.LatLng("+dsZip.Tables[0].Rows[zcnt]["Latitude"].ToString()+","+ dsZip.Tables[0].Rows[zcnt]["Longitude"].ToString()+");" +
"var origin2 = new google.maps.LatLng(" + dsStore.Tables[0].Rows[i]["lat"].ToString() + "," + dsStore.Tables[0].Rows[i]["long"].ToString() + ");" +
//"var origin1 = new google.maps.LatLng(55.930385, -3.118425);" +
//"var origin2 = new google.maps.LatLng(51.483061, -0.004151);" +
"var service = new google.maps.DistanceMatrixService();" +
" alert('Made it to calculateDistances');" +
"service.getDistanceMatrix(" +
"{" +
"origins: [origin1]," +
"destinations: [origin2]," +
"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;" +
"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];" +
"alert('The distance:'+ distance);" +
"}}}}" +
"</script>");
}
}
當我做最後一行時,得到'txtDistance.value',我在WinForm應用程序中遇到錯誤:「對象引用未設置爲對象的實例。」 – Dagrooms