ios - Creating markers in GoogleMaps -
how create function drawing markers on map array of applications received during operation. is, function must outside viewdidload() ? if use simple function following content:
import uikit import googlemaps import corelocation class viewcontroller: uiviewcontroller { @iboutlet var mmap: gmsmapview! let locationmanager = cllocationmanager() let mapinsets = uiedgeinsets(top: 10.0, left: 0.0, bottom: 100.0, right: 0.0) override func viewdidload() { super.viewdidload() view = mmap mmap.padding = mapinsets mmap.ismylocationenabled = true mmap.settings.compassbutton = true mmap.settings.mylocationbutton = true mmap.settings.scrollgestures = true mmap.settings.zoomgestures = true let camera = gmscameraposition.camera(withlatitude: mylat, longitude: mylon, zoom: 15.0) let mmap = gmsmapview.map(withframe: cgrect.zero, camera: camera) let buttondps = uibutton(frame: cgrect(x: 2, y: 520, width: 103, height: 45)) button.backgroundcolor = .red button.settitle("yes", for: .normal) button.titlelabel!.font = uifont.boldsystemfont(ofsize: 19) button.layer.cornerradius = 5.0 button.addtarget(self, action: #selector(buttonact), for:.touchupinside) self.view.addsubview(button) } func buttonact(sender: uibutton!) { let alert = uialertcontroller(title:"help", message:"qwerty", preferredstyle:.alert) alert.addaction(uialertaction(title:"ok", style:.default){ action in self.markercreate() }) alert.addaction(uialertaction(title:"cancel", style:.cancel, handler:nil)) self.present(alert, animated:true, completion:nil) } func markercreate(){ let marker2 = gmsmarker() marker2.position = cllocationcoordinate2d(latitude: 54.9044200, longitude: 52.3154000) marker2.title = "Россия" marker2.snippet = "Москва" marker2.map = mmap } } then nothing happens (((
as far can analyze,
the code work fine. marker added map. you don't see marker have added. move camera position of map marker position can see marker, i.e.
func markercreate() { //your code... mmap.camera = gmscameraposition.camera(withlatitude: 54.9044200, longitude: 52.3154000, zoom: 15.0) //add line code } i assume resolve 2 mmap variables have created mentioned in comment.
edit:
1. in storyboard, set viewcontroller's view's class gmsmapview , connect outlet mmap it, i.e.
2. follow comments in below code snippet:
override func viewdidload() { super.viewdidload() //your code... view = mmap //remove line mmap.camera = gmscameraposition.camera(withlatitude: 54.9044200, longitude: 52.3154000, zoom: 15.0) //add line let camera = gmscameraposition.camera(withlatitude: mylat, longitude: mylon, zoom: 15.0) //remove line let mmap = gmsmapview.map(withframe: cgrect.zero, camera: camera) //remove line //your code... } 
Comments
Post a Comment