Javascript 如何更改js以获得位置和地址自动完成?
我有一段代码,要求起点城市和目的地城市作为用户输入,它会自动完成并计算两点之间的时间和公里距离,我想将其更改为只接受城市,它可以接受地址和地点(使用自动完成)。请注意,为了使用它,您需要提供自己的GoogleAPI 下面是片段Javascript 如何更改js以获得位置和地址自动完成?,javascript,html,css,google-maps,Javascript,Html,Css,Google Maps,我有一段代码,要求起点城市和目的地城市作为用户输入,它会自动完成并计算两点之间的时间和公里距离,我想将其更改为只接受城市,它可以接受地址和地点(使用自动完成)。请注意,为了使用它,您需要提供自己的GoogleAPI 下面是片段 var mylatng={lat:38.736946,液化天然气:-9.142685}; 变量映射选项={ 中心:myLatLng, 缩放:1, mapTypeId:google.maps.mapTypeId.ROADMAP }; //隐藏结果框 document.get
var mylatng={lat:38.736946,液化天然气:-9.142685};
变量映射选项={
中心:myLatLng,
缩放:1,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
//隐藏结果框
document.getElementById(“输出”).style.display=“无”;
//创建/初始化映射
var-map=new google.maps.map(document.getElementById('google-map'),mapOptions);
//创建DirectionService对象以使用route方法并获得请求的结果
var directionsService=new google.maps.directionsService();
//创建一个DirectionsRenderer对象,用于显示路线
var directionsDisplay=new google.maps.DirectionsRenderer();
//将DirectionsRenderer绑定到地图
方向显示.setMap(地图);
//定义calcRoute函数
函数calcRoute(){
//创建请求
var请求={
来源:document.getElementById(“location-1”).value,
目的地:document.getElementById(“location-2”).value,
travelMode:google.maps.travelMode.DRIVING,
unitSystem:google.maps.unitSystem.METRIC
}
//路由
路由(请求、功能(结果、状态){
if(status==google.maps.directionstatus.OK){
//获取距离和时间
$(“#输出”).html(“行驶距离:+result.routes[0].legs[0].distance.text+”
时长:+result.routes[0].legs[0].Duration.text+”;
document.getElementById(“输出”).style.display=“块”;
//显示路线
方向显示。设置方向(结果);
}否则{
//从地图中删除路线
directionsDisplay.setDirections({routes:[]});
//伦敦市中心地图
地图设置中心(myLatLng);
//显示错误消息
警报(“找不到路!请重试!”);
clearRoute();
}
});
}
//明确的结果
函数clearRoute(){
document.getElementById(“输出”).style.display=“无”;
document.getElementById(“location-1”).value=“”;
document.getElementById(“位置-2”).value=“”;
directionsDisplay.setDirections({routes:[]});
}
//为所有输入创建自动完成对象
变量选项={
类型:['(城市)]
//类型:['(区域)]
//类型:[“邮政编码”]
}
var input1=document.getElementById(“位置-1”);
var autocomplete1=新的google.maps.places.Autocomplete(输入1,选项);
var input2=document.getElementById(“位置-2”);
var autocomplete2=新的google.maps.places.Autocomplete(输入2,选项);
删除类型:'(城市)
。根据,将该值放入类型
字段(类型
已弃用):
(cities)类型集合指示Places服务返回与Location或administrative_area_level_3匹配的结果
从选项中删除类型
(或类型
)以获取机构和地址
// Create autocomplete objects for all inputs
var options = {};
var input1 = document.getElementById("location-1");
var autocomplete1 = new google.maps.places.Autocomplete(input1, options);
var input2 = document.getElementById("location-2");
var autocomplete2 = new google.maps.places.Autocomplete(input2, options);
代码片段:
var mylatng={
拉脱维亚:38.736946,
液化天然气:-9.142685
};
变量映射选项={
中心:myLatLng,
缩放:1,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
//隐藏结果框
document.getElementById(“输出”).style.display=“无”;
//创建/初始化映射
var-map=new google.maps.map(document.getElementById('google-map'),mapOptions);
//创建DirectionService对象以使用route方法并获得请求的结果
var directionsService=new google.maps.directionsService();
//创建一个DirectionsRenderer对象,用于显示路线
var directionsDisplay=new google.maps.DirectionsRenderer();
//将DirectionsRenderer绑定到地图
方向显示.setMap(地图);
//定义calcRoute函数
函数calcRoute(){
//创建请求
var请求={
来源:document.getElementById(“location-1”).value,
目的地:document.getElementById(“location-2”).value,
travelMode:google.maps.travelMode.DRIVING,
unitSystem:google.maps.unitSystem.METRIC
}
//路由
路由(请求、功能(结果、状态){
if(status==google.maps.directionstatus.OK){
//获取距离和时间
$(“#输出”).html(“行驶距离:+result.routes[0].legs[0].distance.text+”
时长:+result.routes[0].legs[0].Duration.text+”;
document.getElementById(“输出”).style.display=“块”;
//显示路线
方向显示。设置方向(结果);
}否则{
//从地图中删除路线
directionsDisplay.setDirections({
路线:[]
});
//伦敦市中心地图
地图设置中心(myLatLng);
//显示错误消息
警报(“找不到路!请重试!”);
clearRoute();
}
});
}
//明确的结果
函数clearRoute(){
document.getElementById(“输出”).style.display=“无”;
document.getElementById(“location-1”).value=“”;
document.getElementById(“位置-2”).value=“”;
directionsDisplay.setDirections({
路线:[]
});
}
//为所有输入创建自动完成对象
var选项={};
var input1=document.getElementById(“位置-1”);
var autocomplete1=新的google.maps.places.Autocomplete(输入1,选项);
var input2=document.getElementById(“位置-2”);
var autocomplete2=新的google.maps.places.Autocomplete(输入2,选项)代码>
*{
保证金:自动;
框大小:边框框;
}
html{
字体大小:62.5%;
身高:100%;
}
身体{
身高:100%;
背景图像:线性梯度(135度,#f5f7fa 0%,#c3cfe2 100%);
背景尺寸:c
// Create autocomplete objects for all inputs
var options = {};
var input1 = document.getElementById("location-1");
var autocomplete1 = new google.maps.places.Autocomplete(input1, options);
var input2 = document.getElementById("location-2");
var autocomplete2 = new google.maps.places.Autocomplete(input2, options);