Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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 计算多个Lat/Long的中心点_Javascript_Google Maps_Latitude Longitude - Fatal编程技术网

Javascript 计算多个Lat/Long的中心点

Javascript 计算多个Lat/Long的中心点,javascript,google-maps,latitude-longitude,Javascript,Google Maps,Latitude Longitude,我正在使用谷歌地图显示多个横向/纵向点 但是GoogleMapJavaScript代码有一个代码片段来跟踪可用lat/long的lat/long中心 <script type="text/javascript"> var locations = JSON.parse('<?php echo json_encode($data);?>'); //alert (locations); var map = new google.maps.Map(document

我正在使用谷歌地图显示多个横向/纵向点

但是GoogleMapJavaScript代码有一个代码片段来跟踪可用lat/long的lat/long中心

<script type="text/javascript">
    var locations = JSON.parse('<?php echo json_encode($data);?>'); //alert (locations);
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 10,
        center: new google.maps.LatLng(),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;

    for (i = 0; i < locations.length; i++) {

        marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][2], locations[i][3]),
            map: map
        });

        google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
                infowindow.setContent(locations[i][1]);
                infowindow.open(map, marker);
            }
        })(marker, i));
    }
</script>
需要一个lat/long对,该对可能是要显示的多个lat/long的中心点


如何做到这一点?

您应该使用函数map.getBounds()获取添加标记的边界

它返回一个对象,您可以在该对象上获取中心绑定。getCenter()


请参见

您应该使用函数map.getBounds()获取添加标记的边界

它返回一个对象,您可以在该对象上获取中心绑定。getCenter()


请参见此操作。有关详细信息,请参阅和的文档:

<script type="text/javascript">
   var locations =  JSON.parse('<?php echo json_encode($data);?>');//alert (locations);
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 10,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;
    var bounds = new google.maps.LatLngBounds();
     for (i = 0; i < locations.length; i++) {

      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][2],locations[i][3]),
        map: map
      });
      bounds.extend(marker.getPosition());

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][1]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
    map.fitBounds(bounds);
  </script>

这很有效。有关详细信息,请参阅和的文档:

<script type="text/javascript">
   var locations =  JSON.parse('<?php echo json_encode($data);?>');//alert (locations);
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 10,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();

    var marker, i;
    var bounds = new google.maps.LatLngBounds();
     for (i = 0; i < locations.length; i++) {

      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][2],locations[i][3]),
        map: map
      });
      bounds.extend(marker.getPosition());

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][1]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
    map.fitBounds(bounds);
  </script>


如果您横向/纵向定义了不规则多边形,则没有正式定义的“中心”。请看:它将中心表示为“正多边形中与每个顶点等距的点”。稍后您将看到,它说它可以有一个
质心
。这是一个7步的过程显然,wiki在这方面有一些好东西()(平均纬度,平均长度)还不够好吗?两周前提出了完全相同的问题:如果你纬度/长度定义了一个不规则多边形,那么就没有官方定义的“中心”。请看:它将中心表示为“正多边形中与每个顶点等距的点”。稍后您将看到,它说它可以有一个
质心
。这是一个7步的过程显然,wiki在这方面有一些好东西()是(平均纬度,平均长度)不够好吗?两周前也有人问过同样的问题: