Javascript 谷歌地图嵌入KML/KMZ文件和搜索框

Javascript 谷歌地图嵌入KML/KMZ文件和搜索框,javascript,google-maps,Javascript,Google Maps,我正在尝试将搜索框连接到嵌入的Google地图,但我获得的代码确实不允许搜索KML/KMZ文件。这是我第一次使用他们的API 我可以在没有搜索栏的情况下显示KMZ文件,但是我找不到关于为KMZ文件实现搜索工具的教程,因为它是从Google上的地图下载的 <style> html, body { height: 370px; padding: 0; margin: 0; } #map {

我正在尝试将搜索框连接到嵌入的Google地图,但我获得的代码确实不允许搜索KML/KMZ文件。这是我第一次使用他们的API

我可以在没有搜索栏的情况下显示KMZ文件,但是我找不到关于为KMZ文件实现搜索工具的教程,因为它是从Google上的地图下载的

   <style>
      html, body {
        height: 370px;
        padding: 0;
        margin: 0;
        }
      #map {
       height: 360px;
       width: 300px;
       overflow: hidden;
       float: left;
       border: thin solid #333;
       }
      #capture {
       height: 360px;
       width: 480px;
       overflow: hidden;
       float: left;
       background-color: #ECECFB;
       border: thin solid #333;
       border-left: none;
       }
    </style>
  </head>
  <body>
    <input id="pac-input" class="controls" type="text" placeholder="Search Box">
        <div id="map"></div>


     <script>       var input = document.getElementById('pac-input');
        var searchBox = new google.maps.places.SearchBox(input);
        map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

        // Bias the SearchBox results towards current map's viewport.
        map.addListener('bounds_changed', function() {
          searchBox.setBounds(map.getBounds());
        }); </script>
    <div id="capture"></div>
    <script>
      var map;
      var src = 'http://firework.com.au/map.kmz';

      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: new google.maps.LatLng(-19.257753, 146.823688),
          zoom: 2,
          mapTypeId: 'terrain'
        });

        var kmlLayer = new google.maps.KmlLayer(src, {
          suppressInfoWindows: true,
          preserveViewport: false,
          map: map
        });
        kmlLayer.addListener('click', function(event) {
          var content = event.featureData.infoWindowHtml;
          var testimonial = document.getElementById('capture');
          testimonial.innerHTML = content;
        });
      }
    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC1n-Z_9yO1OAylAowGQa9pcorepEEw2js&callback=initMap">
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initAutocomplete"
         async defer></script>

html,正文{
高度:370px;
填充:0;
保证金:0;
}
#地图{
高度:360px;
宽度:300px;
溢出:隐藏;
浮动:左;
边框:薄实线#333;
}
#俘获{
高度:360px;
宽度:480px;
溢出:隐藏;
浮动:左;
背景色:#ECECFB;
边框:薄实线#333;
左边界:无;
}
var input=document.getElementById('pac-input');
var searchBox=newgoogle.maps.places.searchBox(输入);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
//将搜索框结果偏向当前地图的视口。
addListener('bounds_changed',function(){
searchBox.setBounds(map.getBounds());
}); 
var映射;
var src='1〕http://firework.com.au/map.kmz';
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:新google.maps.LatLng(-19.257753146.823688),
缩放:2,
mapTypeId:'地形'
});
var kmlLayer=new google.maps.kmlLayer(src{
suppressInfoWindows:对,
不正确:错误,
地图:地图
});
kmlLayer.addListener('click',函数(事件){
var content=event.featureData.infoWindowHtml;
var testional=document.getElementById('capture');
testional.innerHTML=内容;
});
}

您必须一次性添加谷歌地图api

我在脚本标记的url中添加了
&callback=initMapFunctions
,分别初始化
initMap()
initAutocomplete()
函数

函数initAutocomplete(){
var input=document.getElementById('pac-input');
var searchBox=newgoogle.maps.places.searchBox(输入);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
//将搜索框结果偏向当前地图的视口。
addListener('bounds_changed',function(){
searchBox.setBounds(map.getBounds());
});
}
var映射;
var src='1〕http://firework.com.au/map.kmz';
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:新google.maps.LatLng(-19.257753146.823688),
缩放:2,
mapTypeId:'地形'
});
var kmlLayer=new google.maps.kmlLayer(src{
suppressInfoWindows:对,
不正确:错误,
地图:地图
});
kmlLayer.addListener('click',函数(事件){
var content=event.featureData.infoWindowHtml;
var testional=document.getElementById('capture');
testional.innerHTML=内容;
});
}
函数initMapFunctions(){
initMap();
initAutocomplete();
}
html,
身体{
高度:370px;
填充:0;
保证金:0;
}
#地图{
高度:360px;
宽度:300px;
溢出:隐藏;
浮动:左;
边框:薄实线#333;
}
#俘获{
高度:360px;
宽度:480px;
溢出:隐藏;
浮动:左;
背景色:#ECECFB;
边框:薄实线#333;
左边界:无;
}

您必须一次性添加谷歌地图api

我在脚本标记的url中添加了
&callback=initMapFunctions
,分别初始化
initMap()
initAutocomplete()
函数

函数initAutocomplete(){
var input=document.getElementById('pac-input');
var searchBox=newgoogle.maps.places.searchBox(输入);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(输入);
//将搜索框结果偏向当前地图的视口。
addListener('bounds_changed',function(){
searchBox.setBounds(map.getBounds());
});
}
var映射;
var src='1〕http://firework.com.au/map.kmz';
函数initMap(){
map=new google.maps.map(document.getElementById('map'){
中心:新google.maps.LatLng(-19.257753146.823688),
缩放:2,
mapTypeId:'地形'
});
var kmlLayer=new google.maps.kmlLayer(src{
suppressInfoWindows:对,
不正确:错误,
地图:地图
});
kmlLayer.addListener('click',函数(事件){
var content=event.featureData.infoWindowHtml;
var testional=document.getElementById('capture');
testional.innerHTML=内容;
});
}
函数initMapFunctions(){
initMap();
initAutocomplete();
}
html,
身体{
高度:370px;
填充:0;
保证金:0;
}
#地图{
高度:360px;
宽度:300px;
溢出:隐藏;
浮动:左;
边框:薄实线#333;
}
#俘获{
高度:360px;
宽度:480px;
溢出:隐藏;
浮动:左;
背景色:#ECECFB;
边框:薄实线#333;
左边界:无;
}