我希望能够缩放我网站的所有折线。
另外,我想为每个新的坐标对添加标记。我已经看过很多关于多个标记和多个plygons的例子,但从来没有用于折线,我无法解决这个问题......
我见过一些非常有用的网页,例如:http://salman-w.blogspot.com/2009/03/zoom-to-fit-all-markers-polylines-or.html
但他们中的大多数人事先都会假设某种知识,而我不太了解。
这是我的代码:
<script type="text/javascript">
function initialize() {
var myLatLng = new google.maps.LatLng(45.397, 5.644);
var centerLatLng = new google.maps.LatLng(35.71,-1.905);
var myOptions = {
zoom: 5,
center: centerLatLng,
scrollwheel: false,
mapTypeControl: false,
mapTypeId: google.maps.MapTypeId.SATELLITE
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var flightPlanCoordinates = [
new google.maps.LatLng(45.397, 5.644),
new google.maps.LatLng(28.713383,-17.905781),
new google.maps.LatLng(20.713383,-19.905781),
new google.maps.LatLng(25.713383,-29.905781),
];
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#dddd00",
strokeOpacity: 1.0,
strokeWeight: 3
});
flightPath.setMap(map);
}
</script>
先谢谢,我是googles API和本网站的新手。
答案 0 :(得分:10)
尝试将点的位置添加到bounds对象,然后使用fitBounds,如下所示:
var bounds = new google.maps.LatLngBounds();
var point1 = new google.maps.LatLng(45.397, 5.644);
bounds.extend(point1);
var point2 = new google.maps.LatLng(28.713383,-17.905781);
bounds.extend(point2);
var point3 = new google.maps.LatLng(20.713383,-19.905781);
bounds.extend(point3);
var point4 = new google.maps.LatLng(25.713383,-29.905781);
bounds.extend(point4);
map.fitBounds(bounds);