Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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 Google Maps API和Google Maps location在PHP中显示不同的位置_Javascript_Google Maps_Google Maps Api 3_Postal Code - Fatal编程技术网

Javascript Google Maps API和Google Maps location在PHP中显示不同的位置

Javascript Google Maps API和Google Maps location在PHP中显示不同的位置,javascript,google-maps,google-maps-api-3,postal-code,Javascript,Google Maps,Google Maps Api 3,Postal Code,我正在将我的客户端网站与Google API集成,我有一项任务,就是使用用户的邮政编码(英国)验证用户地址,并使用我的邮箱地址获取地址 因此,当用户输入邮政编码时,ajax请求将与用户输入的邮政编码一起发送到此邮政编码URL。它从该邮政编码返回一组地址,用户选择其中一个 现在,此邮政编码URL还返回特定邮政编码的lat和long。在下一步中,我使用了GoogleMapsAPI,它显示了从源到目标的方向、距离和路线 这一切都很好,但对于某些邮政编码,它显示了错误的位置 当我在谷歌地图中检查邮政编码

我正在将我的客户端网站与Google API集成,我有一项任务,就是使用用户的邮政编码(英国)验证用户地址,并使用我的邮箱地址获取地址

因此,当用户输入邮政编码时,ajax请求将与用户输入的邮政编码一起发送到此邮政编码URL。它从该邮政编码返回一组地址,用户选择其中一个

现在,此邮政编码URL还返回特定邮政编码的lat和long。在下一步中,我使用了GoogleMapsAPI,它显示了从源到目标的方向、距离和路线

这一切都很好,但对于某些邮政编码,它显示了错误的位置

当我在谷歌地图中检查邮政编码时,它显示的很好;因此,lat和long没有问题。相反,我还没有找到别的东西

请帮帮我,伙计们。我尝试过搜索和使用许多不同的编码方式,但仍然是一样的

这是我的JS代码,其中我计算了多个距离

var映射;
var latc;
var lonc;
var latd;
瓦尔·隆德;
var-latr;
瓦隆;
var定向服务;
var方向显示;
奥金变种;
var目的地;
var中途岛;
var航路点=[];
var服务;
var stat=假;
函数initMap()
{
map=null;
航路点=[];
方向显示=空;
directionsService=null;
orgin=“”;
目的地=”;
latc=$(“#lat”).val();
lonc=$(“#lon”).val();
latd=$(“#latd”).val();
lond=$(“#lond”).val();
lonr=$(“#lonr”).val();
latr=$(“#latr”).val();
orgin={lat:parseFloat(latc),lng:parseFloat(lonc)};
如果(latr==“0”和lonr==“0”)
{
目的地={lat:parseFloat(latd),lng:parseFloat(lond)};
}
其他的
{
stat=true;
航路点推送({
位置:新google.maps.LatLng(parseFloat(latd),parseFloat(lonr)),
中途停留:对
});
中途岛={lat:parseFloat(latd),lng:parseFloat(lonr)};
目的地={lat:parseFloat(latr),lng:parseFloat(lonr)};
}
控制台日志(orgin);
控制台日志(目的地);
directionsService=新的google.maps.directionsService;
directionsDisplay=新建google.maps.DirectionsRenderer;
map=new google.maps.map(document.getElementById('map'){
中心:奥尔金,
缩放:17,
mapTypeId:google.maps.mapTypeId.ROADMAP
});
方向显示.setMap(地图);
计算显示路线(方向服务、方向显示);
}
函数calculateAndDisplayRoute(方向服务、方向显示)
{
方向服务.路线(
{
来源:奥尔金,
目的地:目的地,
航路点:航路点,
持续时间:对,
航路点:对,
ProviderRouteAlternatives:正确,
避免:错误,
避免:错误,
travelMode:google.maps.travelMode.DRIVING
},
功能(响应、状态)
{
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
距离和持续时间();
}
其他的
{
window.alert('由于'+状态,指示请求失败);
}
}
);
}
函数距离和持续时间()
{
如果(latr==“0”和lonr==“0”)
{
var a=新数组(原数组);
var b=新阵列(目的地);
}
其他的
{
var a=新阵列(起始,中间);
var b=新阵列(中途、目的地);
}
service=new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
起源:a,
目的地:b,
travelMode:google.maps.travelMode.DRIVING,
unitSystem:google.maps.unitSystem.METRIC,
持续时间:对,
避免:错误,
避免收费:错误
},功能(响应、状态){
if(状态==google.maps.DistanceMatrixStatus.OK&&response.rows[0]。元素[0]。状态!=“零结果”){
var distnumber=[];
var durationnumber=[];
var dvDistance=document.getElementById(“showde”);
dvDistance.innerHTML=“”;
dvDistance.innerHTML=“”;

对于(var i=0;我抱歉,伙计们。我明白了。我只是错误地给了源和目的地的lat和long值。就像源A有latA和lonA一样,目的地B有latB和lonB。但我错把它写成了源A有latA和lonA,目的地B有latB和lonA->这是我的错误。希望这对将来的人有所帮助。谢谢你我对它做了一些复制编辑你的问题会帮助你得到一个更好的答案。