Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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 在google maps api中显示加载的多个kml_Javascript_Google Maps Api 3 - Fatal编程技术网

Javascript 在google maps api中显示加载的多个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.

我试图用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.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()