Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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 谷歌地图搜索框_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图搜索框

Javascript 谷歌地图搜索框,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在尝试使用google map api中的搜索框搜索位置。我正在使用google map Javascript api v3。当我尝试搜索某个位置时,它没有发生。有人能帮我解决问题吗。这是html和Javascript代码片段 <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge">

我正在尝试使用google map api中的搜索框搜索位置。我正在使用google map Javascript api v3。当我尝试搜索某个位置时,它没有发生。有人能帮我解决问题吗。这是html和Javascript代码片段

<html>

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <meta name="description" content="">
        <meta name="author" content="">
        <link href="css/bootstrap.min.css" rel="stylesheet">

        <link href="css/bootstrap.css" rel="stylesheet">
        <script src="js/jquery.min.js"></script>
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
    </head>
    <body>
        <div class="col-md-8">
            <input id="pac-input" class="controls" type="text" placeholder="Search Box">
            <div class="container" id="map-canvas" ></div> 
        </div>


        <script>

        var map = new google.maps.Map(document.getElementById('map-canvas'),{
            center:{
            lat: 12.9715987,
            lng: 77.59456269999998
            },
            zoom: 12
        });

        var marker = new google.maps.Marker({
            position:{
            lat: 12.9715987,
            lng: 77.59456269999998
            },
            map: map,
            draggable:true
        });

        var searchBox = new google.maps.places.SearchBox(document.getElementById('pac-input'));

        google.maps.event.addListener(searchBox , 'place_changed' , function(){
            var places = searchBox.getPlaces();
            var bounds =  new google.maps.LatLngBounds();
            var i,place;
            for( i = 0; palce = places[i]; i++)
            {
            bounds.extend(place.geometry.location);
            marker.setPosition(place.geometry.location);
            }
            map.fitBounds(bounds);
            map.setZoom(12);
        });



        </script>
        <script src="js/jquery.min.js"></script>
        <!-- Include all compiled plugins (below), or include individual files as needed -->
        <script src="js/bootstrap.min.js"></script>
        <script src="js/Test.js"></script>
    </body>

</html>

var map=new google.maps.map(document.getElementById('map-canvas'){
中心:{
拉脱维亚:12.9715987,
液化天然气:77.594562699998
},
缩放:12
});
var marker=new google.maps.marker({
职位:{
拉脱维亚:12.9715987,
液化天然气:77.594562699998
},
地图:地图,
德拉格布尔:是的
});
var searchBox=new google.maps.places.searchBox(document.getElementById('pac-input');
google.maps.event.addListener(搜索框,'place_changed',函数(){
var places=searchBox.getPlaces();
var bounds=new google.maps.LatLngBounds();
var i,地点;
对于(i=0;palce=places[i];i++)
{
扩展(place.geometry.location);
标记器.设置位置(位置.几何.位置);
}
映射边界(bounds);
map.setZoom(12);
});
  • 对于
    搜索框
    ,没有
    place\u changed
    -事件(这是一个自动完成的事件)。
    Searchbox
    的事件称为
    places\u changed

  • 有一个打字错误
    palce

    for( i = 0; palce = places[i]; i++)
    
  • 不清楚您试图实现的目标是什么,您迭代了各个位置(可能有多个位置),并将单个标记的位置设置为当前位置。结果将是标记始终放置在返回结果的最后一个位置(对我来说没有意义)。 如果希望有多个标记,则必须为每个位置创建单独的标记(并另外删除以前添加的标记),如果需要单个标记,请改用

  • 函数init(){
    var map=new google.maps.map(document.getElementById('map-canvas'){
    中心:{
    拉脱维亚:12.9715987,
    液化天然气:77.594562699998
    },
    缩放:12
    });
    var searchBox=new google.maps.places.searchBox(document.getElementById('pac-input');
    map.controls[google.maps.ControlPosition.TOP_CENTER].push(document.getElementById('pac-input');
    google.maps.event.addListener(搜索框,'places_changed',函数(){
    searchBox.set('map',null);
    var places=searchBox.getPlaces();
    var bounds=new google.maps.LatLngBounds();
    var i,地点;
    for(i=0;place=places[i];i++){
    (功能(地点){
    var marker=new google.maps.marker({
    位置:place.geometry.location
    });
    marker.bindTo('map',searchBox,'map');
    google.maps.event.addListener(标记'map_changed',函数(){
    如果(!this.getMap()){
    这是;
    }
    });
    扩展(place.geometry.location);
    }(地点);;
    }
    映射边界(bounds);
    searchBox.set('map',map);
    setZoom(Math.min(map.getZoom(),12));
    });
    }
    google.maps.event.addDomListener(窗口'load',init)
    
    html,
    身体,
    #地图画布{
    保证金:0;
    填充:0;
    身高:100%;
    }
    
    
    函数init(){
    var map=new google.maps.map(document.getElementById('map-canvas'){
    中心:{
    拉脱维亚:12.9715987,
    液化天然气:77.594562699998
    },
    缩放:12
    });
    var searchBox=new google.maps.places.searchBox(document.getElementById('pac-input');
    map.controls[google.maps.ControlPosition.TOP_CENTER].push(document.getElementById('pac-input');
    google.maps.event.addListener(搜索框,'places_changed',函数(){
    searchBox.set('map',null);
    var places=searchBox.getPlaces();
    var bounds=new google.maps.LatLngBounds();
    var i,地点;
    for(i=0;place=places[i];i++){
    (功能(地点){
    var marker=new google.maps.marker({
    位置:place.geometry.location
    });
    marker.bindTo('map',searchBox,'map');
    google.maps.event.addListener(标记'map_changed',函数(){
    如果(!this.getMap()){
    这是;
    }
    });
    扩展(place.geometry.location);
    }(地点);;
    }
    映射边界(bounds);
    searchBox.set('map',map);
    setZoom(Math.min(map.getZoom(),12));
    });
    }
    google.maps.event.addDomListener(窗口'load',init)
    
    html,
    身体,
    #地图画布{
    保证金:0;
    填充:0;
    身高:100%;
    }
    
    
    您发布的页面无效(未关闭)。请提供一个展示该问题的文件确认它对我有效。感谢您提供的信息。您可以帮助我如何为每个地方创建单独的标记。我添加了一个示例如何自定义它我的自定义操作未在特定位置找到,我想显示错误我的“诊所未在该特定位置找到”如何自定义我的自定义项在特定位置找不到,我想显示错误我的“诊所在特定位置找不到”