Drawing anonymous circles in Google Maps

懵懂的女人 提交于 2019-12-11 12:53:09

问题


I'm trying to draw a google maps that has multiple Circle overlays, however I do not want to reveal the correct center of the radius.

So for example, myLatlng is my lat/lon center of the radius, I want to draw a circle not around it, but a circle that will include that point.

This is how I currently draw my circle:

        var myLatlng = new google.maps.LatLng(33.33333,22.22222);
        var circle = new google.maps.Circle({
              map: map,
              radius: 3218,
              strokeColor: "#FFAA00",
              fillColor: "#00AAFF",
              fillOpacity: 0.3,
              center: myLatlng,
              zIndex: 99999,

        });

33.33333,22.22222 is a 'secret' location that I do not want to reveal, however I would like to have that point within the circle.

Is that possible?

Thanks!


回答1:


In your example code. The circle could move anywhere such that 33.3 and 22.2 could still be included.

One way to do this would be to simply add a random offset.

    // Generate random between -5 and 5 (just an example)
    var latOffset = Math.floor(Math.random()*11) - 5;
    var longOffset = Math.floor(Math.random()*11) - 5;
    var myLatlng = new google.maps.LatLng(33.33333 + latOffset,22.22222 + longOffset);

The tricky bit you've got is to ensure that the random offset doesn't move the circle out of bounds. The section Expressing latitude and longitude as linear units on Wikipedia should help.



来源:https://stackoverflow.com/questions/5460061/drawing-anonymous-circles-in-google-maps

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!