这似乎对我有用。
计算两点之间的直线距离。
让它成为一个圆的半径,以myOriginPoint为中心。
找出圆的界限。
扩展您的界限以适应这些界限。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry"></script>
<script>
function initialize() {
var map = new google.maps.Map(document.getElementById("map"), {
center: {lat: 0, lng: 0},
zoom: 3,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var myPoint = new google.maps.LatLng(35.158868, -91.419260);
var myOriginPoint = new google.maps.LatLng(33.126255, -89.531347);
var marker1 = new google.maps.Marker({
position: myPoint,
icon: 'http://maps.google.co.uk/intl/en_ALL/mapfiles/ms/micons/red.png',
map: map
});
var marker2 = new google.maps.Marker({
position: myOriginPoint,
icon: 'http://maps.google.co.uk/intl/en_ALL/mapfiles/ms/micons/green-dot.png',
map: map
});
var distance = google.maps.geometry.spherical.computeDistanceBetween(myPoint, myOriginPoint);
var circle = new google.maps.Circle({
fillColor: "#009900",
fillOpacity: 0.25,
strokeColor: "#00FF00",
strokeOpacity: 1.0,
strokeWeight: 1,
center: myOriginPoint,
radius: distance,
map: map
});
var myBounds = circle.getBounds();
map.fitBounds(myBounds);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>
这是一个截图展示:
您需要做的就是将 fillOpacity 和 strokeOpacity 设置为零,以防止该圆圈可见。