Javascript 谷歌地图嵌入KML/KMZ文件和搜索框
我正在尝试将搜索框连接到嵌入的Google地图,但我获得的代码确实不允许搜索KML/KMZ文件。这是我第一次使用他们的API 我可以在没有搜索栏的情况下显示KMZ文件,但是我找不到关于为KMZ文件实现搜索工具的教程,因为它是从Google上的地图下载的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 {
<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;
左边界:无;
}