Google maps 从自动完成输入计算距离:API下拉选择don'中的某些位置;无法获取分配的可用位置数据
在我制作的一个页面上有一个简单的距离计算器,使用谷歌地图(Places Autocomplete)的数据从输入字段中计算出两个点之间的距离 我使用以下命令从google加载信息:Google maps 从自动完成输入计算距离:API下拉选择don'中的某些位置;无法获取分配的可用位置数据,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,在我制作的一个页面上有一个简单的距离计算器,使用谷歌地图(Places Autocomplete)的数据从输入字段中计算出两个点之间的距离 我使用以下命令从google加载信息: <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places"> 这就是它如何使用积分来获得里程数,不确定它是否相关,但这是我能找到的唯一可能改变行
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places">
这就是它如何使用积分来获得里程数,不确定它是否相关,但这是我能找到的唯一可能改变行为的东西
如果有任何更多的信息我需要提供让我知道,我想知道如何舔这个,我就是不能。我希望这是可能的,而不必涉及整个地理位置的事情:P
谢谢
编辑:以下是使用“开始”和“结束”自动完成输入的距离计算功能:
var fromText = document.getElementById('start');
var fromAuto = new google.maps.places.Autocomplete(fromText);
var toText = document.getElementById('end');
var toAuto = new google.maps.places.Autocomplete(toText);
function calcRoute() {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var distanceInput = document.getElementById("distance");
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
distanceinkm = response.routes[0].legs[0].distance.value / 1000;
distanceinmiles = (distanceinkm * 0.621371);
distanceinmiles = distanceinmiles.toFixed(2);
distanceInput.value = distanceinmiles;
}
});
“福克斯伍兹度假村赌场,莱德亚德,CT,美国”是一个,它不能找到的或。返回与结果关联的坐标。使用这些来计算路线
从文档中(如评论中所指出的)显示用于计算距离的代码,您可以选择不同的参数来计算精度和其他可能默认为不起作用的参数Hi Scott,我将函数编辑到我的问题中(calcroute)。谢谢。“福克斯伍兹度假村赌场,莱德亚德,CT,美国”是一个地方,地理编码器或方向服务都找不到它。自动完成服务返回与结果关联的坐标。使用这些来计算路线。可能重复的可能重复的可能重复的在这篇文章的链接中“自动完成服务”转到“获取搜索框信息”部分,这是你获取坐标而不是位置的文本值的方式
var fromText = document.getElementById('start');
var fromAuto = new google.maps.places.Autocomplete(fromText);
var toText = document.getElementById('end');
var toAuto = new google.maps.places.Autocomplete(toText);
function calcRoute() {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var distanceInput = document.getElementById("distance");
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
distanceinkm = response.routes[0].legs[0].distance.value / 1000;
distanceinmiles = (distanceinkm * 0.621371);
distanceinmiles = distanceinmiles.toFixed(2);
distanceInput.value = distanceinmiles;
}
});