Google Map SDK、そしてヤフーローカルサーチAPIを使用してGoogle マップに現在地を表示しそこから半径10km以内のスタバにマーカーを付けようとしております。
不明な点
・初期のカメラを現在地にしたい
・現在地の緯度経度を文字列に変換してAPIを叩きたい
この二つを達成したいと考えております。
様々なサイトなどを参考にして自力で努力したのですが解決には至りませんでした。
swift
1import UIKit 2import GoogleMaps 3import Alamofire 4import SwiftyJSON 5import CoreLocation 6 7class ViewController: UIViewController,CLLocationManagerDelegate{ 8 9 10 var locationManager: CLLocationManager! 11 var mapView: GMSMapView! 12 13 14 override func viewDidLoad() { 15 16 super.viewDidLoad() 17 locationManager = CLLocationManager() 18 locationManager.requestWhenInUseAuthorization() 19 locationManager.delegate = self 20 locationManager.startUpdatingLocation() 21 //初期値になるはず。。。の箇所 22 let camera = GMSCameraPosition.camera(withLatitude: 33.589963, longitude: 139.420690, zoom: 8.0) 23 let mapView = GMSMapView.map(withFrame: view.frame, camera: camera) 24 mapView.isMyLocationEnabled = true 25 view.addSubview(mapView) 26 27 //ヤフーローカルサーチAPI IDを変えております。 28 let url = "https://map.yahooapis.jp/search/local/V1/localSearch?cid=d8a23e9e64a4c817227ab09858bc1330&lat=35.665751&lon=139.728687&dist=10&query=%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9&appid=**(アイディー**)&output=json" 29 30 AF.request(url).responseJSON{ response in 31 switch response.result{ 32 case .success(let value): 33 34 let get_json = JSON(value) 35 let get_feature = get_json["Feature"] 36 // If json is .Dictionary 37 for (_,subJson):(String, JSON) in get_feature { 38 // Do something you want 39 print(subJson["Name"]) 40 print(subJson["Property"]["Address"]) 41 print(subJson["Geometry"]["Coordinates"]) 42 //ここから店名住所をた取り出します。 43 let name = subJson["Name"].stringValue 44 let address = subJson["Property"]["Address"].stringValue 45 let coordinates = subJson["Geometry"]["Coordinates"].stringValue 46 let array = coordinates.split(separator: ",") 47 let real_ido = Double(array[1]) 48 let real_keido = Double(array[0]) 49 //取り出した緯度経度をマーカーにセットします。 50 let position = CLLocationCoordinate2D(latitude: real_ido!, longitude: real_keido!) 51 let marker = GMSMarker(position: position) 52 marker.title = name 53 marker.snippet = address 54 marker.map = mapView 55 56 57 } 58 59 case .failure(_): 60 print("error is occured") 61 } 62 } 63 }
IOSアプリケーション開発を始めたばかりでまだ疎く、ご迷惑おかけしますが
どなたか教えていただけたら恐縮です。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/30 06:31
2020/03/30 06:36
2020/03/30 12:03
2020/03/30 12:17
2020/03/30 14:14
2020/03/30 14:20
2020/03/30 14:28 編集
2020/04/02 17:05
2020/04/03 00:00