使用jQuery/Javascript/GM在圆的边缘创建一个标记

使用jQuery/Javascript/GM在圆的边缘创建一个标记,javascript,jquery,google-maps-api-3,Javascript,Jquery,Google Maps Api 3,我有一个称为“影响”的圆,我想在圆的边缘创建一个标记。我想不出任何办法来做这件事 我的圆圈是这样设置的- var influenceOptions = { strokeColor: "#00CC00", strokeOpacity: 0.7, strokeWeight: 0.5, fillColor: "#00CC00", fillOpacity: 0.35, map: map, center: la

我有一个称为“影响”的圆,我想在圆的边缘创建一个标记。我想不出任何办法来做这件事

我的圆圈是这样设置的-

var influenceOptions = {
    strokeColor: "#00CC00",
    strokeOpacity: 0.7,
    strokeWeight: 0.5,
    fillColor: "#00CC00",
    fillOpacity: 0.35,
    map: map,
    center: latlng,
    radius: 30
};
influence = new google.maps.Circle(influenceOptions);
如何在该圆的任意点创建标记

更新:

如何将新标记添加到此圆的边缘?

使用

  • Math.random()*360以获取随机标题
  • 用于获取圆的半径
  • 用于计算圆上随机航向处的点。注:这需要
  • 使您的地图变量为全局变量,以便一切正常
  • 代码片段:

    var映射;
    jQuery(文档).ready(函数(){
    var latlng=新的google.maps.latlng(40.747688,-74.004142);
    变量选项={
    缩放:16,
    中心:拉特林,
    mapTypeId:google.maps.mapTypeId.SATELLITE
    };
    map=new google.maps.map($('#map')[0],选项);
    附加影响(latlng);
    });
    功能附加影响(latlng){
    you=新建google.maps.Marker({
    地图:地图,
    位置:latlng,
    });
    变量影响选项={
    strokeColor:#00CC00“,
    笔划不透明度:0.7,
    冲程重量:0.5,
    填充颜色:“00CC00”,
    不透明度:0.35,
    地图:地图,
    中心:拉特林,
    半径:3000
    };
    影响=新建google.maps.Circle(影响选项);
    var轴承=数学随机()*360;
    var newPoint=google.maps.geometry.sphereal.computeOffset(latlng,impact.getRadius(),轴承);
    var marker2=新的google.maps.Marker({
    地图:地图,
    职位:新点
    });
    map.fitBounds(impact.getBounds());
    }
    #地图{
    身高:100%;
    宽度:100%;
    }
    html,
    身体{
    身高:100%;
    宽度:100%;
    填充:0px;
    边际:0px;
    }
    
    
    使用

  • Math.random()*360以获取随机标题
  • 用于获取圆的半径
  • 用于计算圆上随机航向处的点。注:这需要
  • 使您的地图变量为全局变量,以便一切正常
  • 代码片段:

    var映射;
    jQuery(文档).ready(函数(){
    var latlng=新的google.maps.latlng(40.747688,-74.004142);
    变量选项={
    缩放:16,
    中心:拉特林,
    mapTypeId:google.maps.mapTypeId.SATELLITE
    };
    map=new google.maps.map($('#map')[0],选项);
    附加影响(latlng);
    });
    功能附加影响(latlng){
    you=新建google.maps.Marker({
    地图:地图,
    位置:latlng,
    });
    变量影响选项={
    strokeColor:#00CC00“,
    笔划不透明度:0.7,
    冲程重量:0.5,
    填充颜色:“00CC00”,
    不透明度:0.35,
    地图:地图,
    中心:拉特林,
    半径:3000
    };
    影响=新建google.maps.Circle(影响选项);
    var轴承=数学随机()*360;
    var newPoint=google.maps.geometry.sphereal.computeOffset(latlng,impact.getRadius(),轴承);
    var marker2=新的google.maps.Marker({
    地图:地图,
    职位:新点
    });
    map.fitBounds(impact.getBounds());
    }
    #地图{
    身高:100%;
    宽度:100%;
    }
    html,
    身体{
    身高:100%;
    宽度:100%;
    填充:0px;
    边际:0px;
    }
    
    
    function addInfluence(latlng){
        you = new google.maps.Marker({
                                     map: map,
                                     position: latlng,
                                     });
        
        var influenceOptions = {
          strokeColor: "#00CC00",
          strokeOpacity: 0.7,
          strokeWeight: 0.5,
          fillColor: "#00CC00",
          fillOpacity: 0.35,
          map: map,
          center: latlng,
          radius: 3000
        };
        influence = new google.maps.Circle(influenceOptions);
        var bearing = Math.random()*360;
        var newPoint = google.maps.geometry.spherical.computeOffset(latlng,influence.getRadius(), bearing);
        var marker2 = new google.maps.Marker({map:map, position:newPoint});
        map.fitBounds(influence.getBounds());
    }