Ограничение поля и добавление 100 случайных маркеров Google Maps SDK Swift
Передо мной стоит задача показать 100 случайных маркеров на ограниченной зоне. Зона должна примерно равняться карте Украины (Карту с координатами границ прикрепляю к вопросу). По кнопке Refresh , 100 старых маркеров удаляются , и появляются новые 100 маркеров в случайных местах. Маркеры не должны указывать место , их задача рандомно появиться и исчезнуть по refresh.
Мой VC:
import UIKit
import GoogleMaps
class ViewController: UIViewController {
@IBOutlet var googleMap: GMSMapView!
@IBAction func refreshButton(_ sender: UIBarButtonItem) {
}
override func viewDidLoad() {
super.viewDidLoad()
let camera = GMSCameraPosition(latitude: 50.450001, longitude: 30.523333, zoom: 6.0)
googleMap.camera = camera
self.showMarker(position: googleMap.camera.target)
}
func showMarker (position: CLLocationCoordinate2D) {
let marker = GMSMarker()
marker.position = position
marker.title = "Kiev"
marker.snippet = "Capital of Ukraine"
marker.map = googleMap
}
}
Карта с координатами (извиняюсь за неаккуратность)
Чисто теоретически , нужно задать площадь и показать маркеры через рандомайзер (мне советовали) , но на данном этапе обучения для меня это сложная задача , которую я пытаюсь решить. Надеюсь на помощь более опытных коллег , заранее спасибо за любую помощь!
Ответы (1 шт):
Так же как добавлена метка функцией showMarker добавить случайные 100.
Сгенерировать случайные координаты в нужной области вот так:
CLLocationCoordinate2D(latitude: Double.random(in: 45...51), longitude: Double.random(22...40))
При рефреше старые удалять, новые циклом добавлять:
func refresh() {
for _ in 0..<100 {
showMarker(position: CLLocationCoordinate2D(latitude: Double.random(in: 45...51), longitude: Double.random(22...40)))
}
}
Ещё можно добавить чтобы названия случайные делать и т.п. для красоты.
