Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在谷歌地图上画一个圆圈来选择自定义标记_Javascript_Google Maps - Fatal编程技术网

Javascript 在谷歌地图上画一个圆圈来选择自定义标记

Javascript 在谷歌地图上画一个圆圈来选择自定义标记,javascript,google-maps,Javascript,Google Maps,我正在做一个项目,我想通过在地图上画一个圆圈,在谷歌地图上选择我的自定义标记。应选择包围圆中的所有标记。下面是它将如何发展: 1. User clicks at a point on googlemaps and draws a circle. 2. The circle encompasses the custom markers. 3. All the custom markers are selected. 我需要完成这三个步骤 需要帮助。可能的工作流程: 创建标记时,将其存储在对象中(

我正在做一个项目,我想通过在地图上画一个圆圈,在谷歌地图上选择我的自定义标记。应选择包围圆中的所有标记。下面是它将如何发展:

1. User clicks at a point on googlemaps and draws a circle.
2. The circle encompasses the custom markers.
3. All the custom markers are selected.
我需要完成这三个步骤

需要帮助。

可能的工作流程:

  • 创建标记时,将其存储在对象中(使用ID作为属性名)。
    样本:

  • 绘制
    后,取圆的
    半径
    中心
  • 迭代
    标记
    -属性并使用以筛选标记。将筛选标记的ID存储在数组中:

     var IDs=[];
    
     for(var k in markers){
         if(google.maps.geometry.spherical
            .computeDistanceBetween(circleCenter,markers[k].getPosition())
              <=circleRadius){
            IDs.push(k);
         }
     }
    
    varids=[];
    for(标记中的变量k){
    如果(google.maps.geometry.spheremic)
    .ComputedDistanceBetween(圆心,标记[k].getPosition())
    
    你这样做有什么困难?到目前为止你做了什么?我已经在谷歌地图上添加了我的标记。我还用代码画了一个圆。现在我对如何选择圆下的位置感到困惑。距离圆心小于圆半径的位置在圆中。是的,我想在结果集中获得它们。a你打算使用某种特殊类型的软件吗?你说的“结果集”是什么意思?这真的很酷。我得到了基本的答案,但我希望一旦我画出圆圈,就会触发一个事件,这样我就可以提取我的Id。我是第一天Javascript的人,所以需要一些提示。有google.maps.event.addListener(映射,'click',函数(e)。希望我是对的!假设您使用绘图库:将触发-事件
     var IDs=[];
    
     for(var k in markers){
         if(google.maps.geometry.spherical
            .computeDistanceBetween(circleCenter,markers[k].getPosition())
              <=circleRadius){
            IDs.push(k);
         }
     }