javascript - 仅在指定的圆圈/区域中显示谷歌地图标记

标签 javascript php html google-maps

我只想显示指定区域的标记!例如,我想绘制半径为 3 或任意且中心(任意 LatLng)的圆。然后,我需要仅在该圆圈的区域中显示标记。 我怎样才能做到这一点?可能吗?

更新:我的问题的解决方案

function isMarkerInArea(circle, marker)
{
   return (circle.getBounds().contains(marker.getPosition()));
};

描述:

  • circle.getBounds() 返回圆的 latLng 边界
  • marker.getPosition() 返回标记的 latLng
  • 最后,circle.getBounds().contains(marker.getPosition()) ,如果标记不在圆圈内,则返回 bool 值。

最后,根据返回的 bool 值设置标记的可见性!

最佳答案

最好的方法(假设您有一个标记数组)是使用 Circle 的 contains() 函数。 一个例子:

function isMarkerInArea(circle, marker){
   return (circle.getBounds().contains(marker.getPosition());
};

此函数将返回一个 bool 值。如果为 true,则设置显示标记,否则隐藏它。

关于javascript - 仅在指定的圆圈/区域中显示谷歌地图标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25221146/

相关文章:

javascript - 自动切换到下一张图片

javascript - 在 document.body.appendChild 上覆盖 div 作为背景

php - Laravel 5 - 在 Rest API 服务器上自定义 JSON 响应

php - 使用MySQL创建.htaccess文件URL重写参数

javascript - 为什么使用 THREE.SubdivisionModifier 时法线贴图无法正确渲染?

javascript - D3 条形图未正确调整大小

php - 在PHP页面上传图片

html - CSS对齐多个文本部分

php - 从 HTML 调用 PHP 的问题

html - 向右扩展一个 div 到页面底部