Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 如何更改js以获得位置和地址自动完成?_Javascript_Html_Css_Google Maps - Fatal编程技术网

Javascript 如何更改js以获得位置和地址自动完成?

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

我有一段代码,要求起点城市和目的地城市作为用户输入,它会自动完成并计算两点之间的时间和公里距离,我想将其更改为只接受城市,它可以接受地址和地点(使用自动完成)。请注意,为了使用它,您需要提供自己的GoogleAPI

下面是片段

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);