Javascript 在google maps api中显示加载的多个kml
我试图用Google Maps API显示加载时的多个kml。最好的办法是什么?现在它只显示了第一个kml 这是我的剧本。 谢谢你的关注Javascript 在google maps api中显示加载的多个kml,javascript,google-maps-api-3,Javascript,Google Maps Api 3,我试图用Google Maps API显示加载时的多个kml。最好的办法是什么?现在它只显示了第一个kml 这是我的剧本。 谢谢你的关注 <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script> <script> function initialize() { var myLatlng = new google.maps.
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(-105.467, 39.973);
var mapOptions = {
zoom: 10,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var sitesLayer = new google.maps.KmlLayer({
url: 'https://example.com/kml-kmz-files/basins.kml'
});
sitesLayer.setMap(map);
var basinLayer = new google.maps.KmlLayer({
url: 'https://example.com/kml-kmz-files/boundries.kml'
});
basinLayer.setMap(map);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
函数初始化(){
var mylatng=new google.maps.LatLng(-105.467,39.973);
变量映射选项={
缩放:10,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.SATELLITE
};
var map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
var sitesLayer=new google.maps.KmlLayer({
网址:'https://example.com/kml-kmz-files/basins.kml'
});
sitesLayer.setMap(地图);
var basinLayer=new google.maps.kmlayer({
网址:'https://example.com/kml-kmz-files/boundries.kml'
});
basinLayer.setMap(map);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
通常会绘制所有层(只要不超过任何限制),但API可能只会将视口设置为包含单个层的特征(取决于加载顺序,它将是哪个层)
要设置视口,使其包含每个图层的特征,必须将图层的preserveViewport
-属性设置为true
,并自行处理地图视口的设置
示例实现:
函数初始化(){
var mylatng=new google.maps.LatLng(0,0);
变量映射选项={
缩放:18,
中心:myLatlng
};
var map=new google.maps.map(document.getElementById('map'),mapOptions);
loadKml=函数(选项、映射){
var layer=new google.maps.KmlLayer();
opts.preserveViewport=true;
if(map){opts.map=map;}
google.maps.event.addListener(层,'defaultviewport_changed',函数(){
var map=this.getMap(),
bounds=map.get('kmlBounds')| | this.getDefaultViewport();
union(this.getDefaultViewport());
map.set('kmlBounds',界限);
映射边界(bounds);
});
图层设置选项(opts);
返回层;
}
//蓝别针
var sitesLayer=loadKml({
网址:'https://www.google.com/maps/d/kml?mid=z_0vvigsiMo4.kV0iI47miw1A',
地图:地图
});
//红星
var basinLayer=loadKml({
网址:'https://www.google.com/maps/d/kml?mid=z4jtZiEBVczE.kp_M0KHEIung'
},地图);
}
google.maps.event.addDomListener(窗口“加载”,初始化)代码>
html,body,#map{高度:100%;边距:0;填充:0}
您的方法没有问题。一定是出了什么问题。尝试使用sitesLayer.getStatus()
和basinLayer.getStatus()