Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Google maps Google Maps V3 Javascript获得与KML和标记一起使用的边界_Google Maps_Google Maps Markers_Kml_Bounds - Fatal编程技术网

Google maps Google Maps V3 Javascript获得与KML和标记一起使用的边界

Google maps Google Maps V3 Javascript获得与KML和标记一起使用的边界,google-maps,google-maps-markers,kml,bounds,Google Maps,Google Maps Markers,Kml,Bounds,我正在制作一张地图,其中KML负载和标记加载在同一画布上,我希望边界无论标记有多大,即使KML在画布上。我将其与php结合使用,因此代码中有一些php,但除了输入变量信息之外,没有什么特别之处 <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> <script type="text/javascript">

我正在制作一张地图,其中KML负载和标记加载在同一画布上,我希望边界无论标记有多大,即使KML在画布上。我将其与php结合使用,因此代码中有一些php,但除了输入变量信息之外,没有什么特别之处

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">  
  jQuery(document).ready(function($) {
      if ($('#map_canvas').length != 0) {
                    var myLatlng = new google.maps.LatLng(45.266438, -93.233225);
                    var myOptions = {
                      zoom: 4,
                      center: myLatlng,
                      mapTypeId: google.maps.MapTypeId.ROADMAP
                    }
                    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

                    var bounds = new google.maps.LatLngBounds();

                    var kmlLayer = new google.maps.KmlLayer('<?php bloginfo('template_url'); ?>/includes/delivery-maps/mansettisdel.kml', { map: map });

                var jsongeo = <?php echo(json_encode($geo_json)); ?>;               
                $.each(jsongeo, function(index, value) {  
                        var latlng = new google.maps.LatLng(value.lat,value.lng);
                        var marker = new google.maps.Marker({
                            position: latlng, 
                            map: map,
                            title:"Hello World!"
                            }); 
                        bounds.extend(latlng);
                    map.fitBounds(bounds);  

                    });                 

                    }    

    });
</script>

jQuery(文档).ready(函数($){
如果($('#映射画布')。长度!=0){
var mylatng=newgoogle.maps.LatLng(45.266438,-93.233225);
变量myOptions={
缩放:4,
中心:myLatlng,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var bounds=new google.maps.LatLngBounds();
var kmlLayer=new google.maps.kmlLayer('/includes/delivery-maps/mansettisdel.kml',{map:map});
var jsongeo=;
$.each(jsongeo,函数(索引,值){
var latlng=新的google.maps.latlng(value.lat,value.lng);
var marker=new google.maps.marker({
位置:latlng,
地图:地图,
标题:“你好,世界!”
}); 
边界扩展(latlng);
映射边界(bounds);
});                 
}    
});
这里是我正在通过lat和longitude循环的json的var_转储


字符串(617)“[{”类型“:”交付“,”lat“:”45.341969“,”液化天然气“:”-93.277657“,”日期“:”2011-07-11“},{”类型“,”交付“,”lat“:”45.005360“,”液化天然气“:”-93.323738“,”日期“:”2011-07-12“,”交付“,”lat“,”日期“,”2011-07-07-12“,”交付“,”,”lat“,”45.131786“,”液化天然气“,”93.216576“,”交付“,”日期“,”交付“,”44.804131,“液化天然气”:“-93.166885”,“日期”:“2011-07-13”},{“类型”:“交付”,“lat”:“45.119965”,“液化天然气”:“-93.287727”,“日期”:“2011-07-13”},{“类型”:“交付”,“lat”:“42.358433”,“液化天然气”:“-71.059776”,“日期”:“2011-07-13”},{“类型”:“交付”,“lat”:“34.195915”,“液化天然气”:“84.507317”,“日期”:“2011-07-13”

现在,我没有问题的标记通过,但只是边界。我不知道是否还有其他的事情需要我去处理lat,long,但我读了很多这方面的文章,却找不到任何东西

下面是显示的内容。

这是我想展示的。


即使KML在地图上,我希望标记是边界。谷歌地图是否会将其设置为KML,或者我是否错误地设置了边界?我注意到它进入边界视图,然后右键进入KML视图。

尝试将选项preserveViewport:true添加到KML选项中,使其显示:

var kmlLayer = new google.maps.KmlLayer('<?php bloginfo('template_url'); ?>/includes/delivery-maps/mansettisdel.kml', { 
  map: map,
  preserveViewport: true
});
var kmlLayer=new google.maps.kmlLayer('/includes/delivery-maps/mansettisdel.kml',{
地图:地图,
保存视口:true
});
这将阻止它将其放大到KML边界


尝试将选项preserveViewport:true添加到KML选项中,使其内容如下:

var kmlLayer = new google.maps.KmlLayer('<?php bloginfo('template_url'); ?>/includes/delivery-maps/mansettisdel.kml', { 
  map: map,
  preserveViewport: true
});
var kmlLayer=new google.maps.kmlLayer('/includes/delivery-maps/mansettisdel.kml',{
地图:地图,
保存视口:true
});
这将阻止它将其放大到KML边界