Google maps 谷歌地图api-酒店自动完成

Google maps 谷歌地图api-酒店自动完成,google-maps,autocomplete,google-places-api,Google Maps,Autocomplete,Google Places Api,我试着用谷歌地图api制作输入字段,但只搜索酒店 我尝试: <script type="text/javascript"> google.maps.event.addDomListener(window, 'load', function () { var places = new google.maps.places.Autocomplete( ( document.getElementById('hotel'

我试着用谷歌地图api制作输入字段,但只搜索酒店

我尝试:

<script type="text/javascript">
        google.maps.event.addDomListener(window, 'load', function () {
          var  places = new google.maps.places.Autocomplete(
       (
          document.getElementById('hotel')), {
        types: ['hotel']
      });
           // var places = new google.maps.places.Autocomplete(document.getElementById('hotel'));
            google.maps.event.addListener(places, 'place_changed', function () {
                var place = places.getPlace();
                var address = place.formatted_address;
                var phone = place.formatted_phone_number;
                var name = place.name;
                var url = place.website;
                $('#address').val(address);
                $('#phone').val(phone);
                $('#url').val(url);
                $('#hotel').val(name);
            });
        });
    </script>

google.maps.event.addDomListener(窗口'load',函数(){
var places=new google.maps.places.Autocomplete(
(
document.getElementById(“酒店”){
类型:[“酒店”]
});
//var places=new google.maps.places.Autocomplete(document.getElementById('hotel');
google.maps.event.addListener(places,'place_changed',函数(){
var place=places.getPlace();
var address=place.formatted\u地址;
var phone=place.formatted\u phone\u number;
var name=place.name;
var url=place.website;
$('地址').val(地址);
$('电话').val(电话);
$('#url').val(url);
$(#hotel').val(姓名);
});
});

但是不要工作。。。这里有什么解决方案?

不幸的是,这是不可能的

Place Autocomplete API不支持仅过滤酒店结果。支持自动完成筛选的类型列表记录在Google开发者网站:<代码>酒店不在列表中。

这是来自

//此示例使用Google Places API的自动完成功能。
//它允许用户查找给定地点、给定范围内的所有酒店
//国家。然后显示所有返回酒店的标记,
//每个酒店的点击详细信息。
//此示例需要Places库。包括图书馆=地方
//第一次加载API时的参数。例如:
// 
var地图、地点、信息窗口;
var标记=[];
var自动完成;
var countryRestrict={'country':'us'};
变量标记器https://developers.google.com/maps/documentation/javascript/images/marker_green';
var hostnameRegexp=new RegExp(“^https:/。+?/”);
var国家={
"au":{
中心:{lat:-25.3,液化天然气:133.8},
缩放:4
},
“br”:{
中心:{lat:-14.2,lng:-51.9},
缩放:3
},
“ca”:{
中心:{lat:62,lng:-110.0},
缩放:3
},
“fr”:{
中心:{lat:46.2,lng:2.2},
缩放:5
},
“德”:{
中心:{lat:51.2,lng:10.4},
缩放:5
},
“mx”:{
中心:{lat:23.6,lng:-102.5},
缩放:4
},
“新西兰”:{
中心:{lat:-40.9,lng:174.9},
缩放:5
},
“它”:{
中心:{lat:41.9,lng:12.6},
缩放:5
},
"za":{
中心:{lat:-30.6,lng:22.9},
缩放:5
},
“es”:{
中心:{lat:40.5,lng:-3.7},
缩放:5
},
“pt”:{
中心:{lat:39.4,lng:-8.2},
缩放:6
},
“我们”{
中心:{lat:37.1,lng:-95.7},
缩放:3
},
“英国”:{
中心:{lat:54.8,lng:-4.6},
缩放:5
}
};
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
zoom:countries['us']。zoom,
中心:国家[美国]。中心,
mapTypeControl:false,
泛控制:错误,
动物控制:错误,
街景控制:错误
});
infoWindow=新建google.maps.infoWindow({
内容:document.getElementById('info-content')
});
//创建自动完成对象并将其与UI输入控件关联。
//将搜索限制为默认国家/地区,并放置类型“cities”。
autocomplete=new google.maps.places.autocomplete(
/**@type{!HTMLInputElement}*/(
document.getElementById('autocomplete'){
类型:['(城市)],
组件限制:countryRestrict
});
places=新的google.maps.places.PlacesService(地图);
autocomplete.addListener('place\u changed',onPlaceChanged);
//添加DOM事件侦听器,以便在用户选择国家/地区时作出反应。
document.getElementById('country')。addEventListener(
“更改”,设置自动完成国家/地区);
}
//当用户选择一个城市时,获取该城市的地点详细信息,然后
//放大这座城市的地图。
函数onPlaceChanged(){
var place=autocomplete.getPlace();
if(place.geometry){
panTo地图(地点、几何、位置);
map.setZoom(15);
搜索();
}否则{
document.getElementById('autocomplete')。占位符='输入城市';
}
}
//在地图的视口中搜索选定城市中的酒店。
函数搜索(){
变量搜索={
边界:map.getBounds(),
类型:[“住宿”]
};
places.nearbySearch(搜索、功能(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
clearResults();
clearMarkers();
//为找到的每个酒店创建一个标记,然后
//为每个标记图标指定一个字母。
对于(var i=0;i