我有以下数据。 1.source名称。 2.目的地名称。 我需要在从源到目的地的路径上找到lat-long对。是否有谷歌Api可用?我提到这些问题Finding intermediate Lattitude Longitude between two given points但是无法理解整个问题。任何人都可以对此有更简单的答案吗?
修改 这是我的尝试
//store lat and long
var sd_array=[];
$('#processbtn').click(function(e){
//get source and destination name
var source=$('#source').val();
var destination=$('#destination').val();
if(source==''||destination==''){
alert("all fields required");
}else{
//decode lat-long from address
getLatitudeAndLongitude(source);
getLatitudeAndLongitude(destination);
}
});
function getLatitudeAndLongitude(address){
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
//store to array
sd_array.push(latitude);
sd_array.push(longitude);
}
});
}
function getInterMediateLatLong(sd_array){
//get intermediate locations
/*sd_array[0] source lat
sd_array[1] source long
sd_array[2] destination lat
sd_array[3] destination long*/
}
我需要帮助来获得中间位置。
答案 0 :(得分:1)
由于每个lat和lon的底层类型都是实数(AKA double或float),只需添加源和端点变量,并将每个结果除以2.0。
var mid_lat = (lat_source + lat_dest ) / 2.0 ;
var mid_lon = (lon_source + lon_dest ) / 2.0 ;
然后中点的坐标是mid_lat,mid_lon。
答案 1 :(得分:1)
您必须先了解它是Mathematical problem,但很简单。谷歌将返回一组XY点......程序是:
正确表达“参考点” S 和 D , S 源和 D estination点。所以 Sx,Sy,Dx,Dy 。它们不是“名称”,是XY代号(!)。
查看如何向Google-API说明您需要多少积分
将您的查询提交给Google-API:编辑您的问题以向我们展示您的查询(Javascript代码)!我们可以在此讨论这些问题。
你需要表达
{path[]: LatLngPathes, samples: 4}
获取LatLngPathes
的Javascript片段示例:
var source = new google.maps.LatLng(36.578581, -118.291994);
var destination = new google.maps.LatLng(36.606111, -118.062778);