Javascript google.maps.Circle捕捉到最近的英里数

Javascript google.maps.Circle捕捉到最近的英里数,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在google v3 api中创建了一些功能,用户可以在其中输入pin。一旦他们放下一个销,就会创建一个可编辑的圆,以销为中心。他们可以展开圆圈,并查看信息窗口中弹出的距离。问题是很难到达最近的一英里或半英里。我将尝试通过拖动圆圈将其拖到最近的一英里,它将达到大约10.23英里 有人对此有什么建议吗? 一英里等于1609.34米(圆的半径以米为单位) 若要使圆的大小以1英里为增量,您需要使半径为+8米,使其不会四舍五入到.99英里: 当半径发生变化时: google.maps.event.ad

在google v3 api中创建了一些功能,用户可以在其中输入pin。一旦他们放下一个销,就会创建一个可编辑的圆,以销为中心。他们可以展开圆圈,并查看信息窗口中弹出的距离。问题是很难到达最近的一英里或半英里。我将尝试通过拖动圆圈将其拖到最近的一英里,它将达到大约10.23英里

有人对此有什么建议吗?


一英里等于1609.34米(圆的半径以米为单位)

若要使圆的大小以1英里为增量,您需要使半径为+8米,使其不会四舍五入到.99英里:

当半径发生变化时:

google.maps.event.addListener(circle, 'radius_changed', function () {
  if ((circle.getRadius() % 1609.34) > 160) {
      circle.setRadius(circle.getRadius() - (circle.getRadius() % 1609.34)+8) // meters per mile 
  }
  removeInfoWindow();
  popUpPinInfo(marker, circle.radius, map);
});
google.maps.event.addListener(circle, 'circlecomplete', function () {
  circle.setRadius(circle.getRadius() - (circle.getRadius() % 1609.34)+8) // meters per mile 
  removeInfoWindow();
  popUpPinInfo(marker, circle.radius, map);
});

请发布一个(一个可以证明这个问题不会造成伤害的帖子)。张贴的代码不包括地图。
circle.setRadius(circle.getRadius() - (circle.getRadius() % 1609.34)+8);
google.maps.event.addListener(circle, 'radius_changed', function () {
  if ((circle.getRadius() % 1609.34) > 160) {
      circle.setRadius(circle.getRadius() - (circle.getRadius() % 1609.34)+8) // meters per mile 
  }
  removeInfoWindow();
  popUpPinInfo(marker, circle.radius, map);
});
google.maps.event.addListener(circle, 'circlecomplete', function () {
  circle.setRadius(circle.getRadius() - (circle.getRadius() % 1609.34)+8) // meters per mile 
  removeInfoWindow();
  popUpPinInfo(marker, circle.radius, map);
});