【发布时间】:2013-08-17 12:05:48
【问题描述】:
我正在使用谷歌地图来显示多个纬度/经度点。
但是谷歌地图的Javascript代码有sn-p代码来跟踪可用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>
在上面的代码中
center: new google.maps.LatLng(),
需要一个纬度/经度对,它可能是要显示的多个纬度/经度的中心点。
这怎么可能?
【问题讨论】:
-
如果您的纬度/经度定义了一个不规则多边形,那么就没有官方定义的“中心”。请参阅:mathopenref.com/polygoncenter.html 它将中心声明为“与每个顶点等距的正多边形内的点。”。你稍后会看到它说它可以有一个
centroid。这是一个 7 个步骤的过程。 ehow.com/how_7209923_calculate-centroid-polygon.html - 显然 wiki 在这方面有一些好东西 (en.wikipedia.org/wiki/Centroid) -
(平均纬度,平均长)不够好吗?
-
两周前提出了完全相同的问题:stackoverflow.com/questions/18085275/…
标签: javascript google-maps latitude-longitude