Положение:
Я играю в игру, используя Google Maps API v3. У меня есть несколько фиксированных маркеров на карте, и я могу поставить по центру
окружающие их круги.
Что мне действительно нужно:
Чтобы поместить эти круги в случайное положение , обертывающие фиксированные маркеры. Я имею в виду один круг для каждого маркера и каждый раз
в другом положении, но каждый раз следует обернуть маркер.
Есть идеи?
Обновление
Что вы подразумеваете под "упаковкой фиксированного маркера"?
Я имею в виду, что маркер будет находиться в фиксированной позиции (его позиция будет загружена из файла геоджона). Но круг должен располагаться случайным образом, так как он всегда охватывает / оборачивает маркер.
Содержит ли каждый круг один или несколько маркеров или один круг содержит их все?
Каждый круг содержит только один маркер.
Насколько большие круги?
Размер тоже будет случайным. Так что radius
может быть любым значением от 1000
до 50000
.
Соответствующие части кода:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style>
html,
body,
#map {
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var gMap
var gCenter = {
lat: -15.793987,
lng: -47.882794
}
var gStyles = {
fillColor: 'red',
fillOpacity: 0,
strokeOpacity: 0,
strokeWeight: 1,
zIndex: 100
}
function initMap() {
gMap = new google.maps.Map(document.getElementById('map'), {
center: gCenter,
zoom: 13.5,
disableDoubleClickZoom: true,
styles: gStyles
})
...
bootstrap()
}
function bootstrap() {
...
var someMarker = new google.maps.Marker({
position: gCenter,
map: gMap,
title: 'Some Point',
visible: true
})
var circle = new google.maps.Circle({
map: gMap,
center: gCenter, // <-- How to calculte randomly center here based in my someMarker position?
radius: 100000,
fillColor: 'red',
fillOpacity: 1,
strokeWeight: 1,
strokeOpacity: .5,
strokeColor: 'red'
});
...
}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=XXXX_API_XXXX&callback=initMap">
</script>
</body>
</html>