Explorar el Código

Merge branch 'V2_OSM' into V2

Iñigo Valentin hace 9 años
padre
commit
2f4e364ac1
Se han modificado 3 ficheros con 58 adiciones y 14 borrados
  1. 1 1
      app/Base.lproj/Main.storyboard
  2. 54 11
      app/EventController.swift
  3. 3 2
      app/Sync.swift

+ 1 - 1
app/Base.lproj/Main.storyboard

@@ -1569,7 +1569,7 @@
                                                 <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
-                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LsE-aH-N1R" customClass="GMSMapView">
+                                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LsE-aH-N1R" customClass="MKMapView">
                                                 <rect key="frame" x="10" y="242" width="305" height="277"/>
                                                 <color key="backgroundColor" red="1" green="0.20334201390000001" blue="0.32001410590000001" alpha="1" colorSpace="calibratedRGB"/>
                                                 <userDefinedRuntimeAttributes>

+ 54 - 11
app/EventController.swift

@@ -20,7 +20,7 @@
 
 import UIKit
 import CoreData
-import GoogleMaps
+import MapKit
 
 /**
 The view controller of the app.
@@ -31,7 +31,7 @@ class EventController: UIViewController, UIGestureRecognizerDelegate {
 	@IBOutlet weak var eventText: UILabel!
 	@IBOutlet weak var eventTime: UILabel!
 	@IBOutlet weak var eventLocation: UILabel!
-	@IBOutlet weak var eventMap: GMSMapView!
+	@IBOutlet weak var eventMap: MKMapView!
 	@IBOutlet weak var btClose: UIButton!
 	@IBOutlet weak var eventAddress: UILabel!
 	
@@ -54,6 +54,11 @@ class EventController: UIViewController, UIGestureRecognizerDelegate {
 	*/
 	override func viewDidLoad() {
 		
+		//let mapTemplate: String = "http://tile.openstreetmap.org/{z}/{x}/{y}.png";
+		//let mapOverlay: MKTileOverlay = MKTileOverlay.initWithURLTemplate(mapTemplate)
+		//overlay.canReplaceMapContent = YES
+		//self.eventMap addOverlay(overlay level:MKOverlayLevelAboveLabels];         // (4)
+		
 		// TODO: Pas this
 		let margolari: Bool = true
 		
@@ -111,18 +116,41 @@ class EventController: UIViewController, UIGestureRecognizerDelegate {
 					}
 				}
 				
-				// Set map marker
-				let marker = GMSMarker()
-				marker.position = CLLocationCoordinate2D(latitude: lat, longitude: lon)
-				marker.title = name
-				marker.map = self.eventMap
+				// Set up map
+				//self.eventMap.delegate = appDelegate as! MKMapViewDelegate
+				//self.eventMap.mapType = MKMapType.satellite
+				
+				//Map centre
+				NSLog("IVV Coordinates: \(lat) \(lon)")
+				let centre = CLLocationCoordinate2D(latitude: lat,
+				                                    longitude: lon)
+				//Declare span of map
+				let span = MKCoordinateSpan(latitudeDelta: 0.05,
+				                            longitudeDelta: 0.05)
+				//Set region of the map
+				let region = MKCoordinateRegion(center: centre, span: span)
+				self.eventMap.setRegion(region, animated: false)
+				self.eventMap.regionThatFits(region)
+				
+				var template = "http://tile.openstreetmap.org/{z}/{x}/{y}.png"
+				let carte_indice = MKTileOverlay(urlTemplate:template)
+				carte_indice.isGeometryFlipped = true
+				carte_indice.canReplaceMapContent = false
+				self.eventMap.add(carte_indice)
+				
+				// Set marker
+				let annotation = MKPointAnnotation()
+				annotation.coordinate = CLLocationCoordinate2D(latitude: lat, longitude: lon)
+				self.eventMap.addAnnotation(annotation)
+				
 				
 				// Center map
-				eventMap.isMyLocationEnabled = true
-				let camera: GMSCameraPosition = GMSCameraPosition.camera(withLatitude: lat, longitude: lon, zoom: 12.0)
-				self.eventMap.camera = camera
+				let center = CLLocation(latitude: lat, longitude: lon)
+				let radius: CLLocationDistance = 1000
+				let coordinateRegion = MKCoordinateRegionMakeWithDistance(center.coordinate,
+				                                                          radius, radius)
+				self.eventMap.setRegion(coordinateRegion, animated: true)
 				
-			
 			}
 			catch {
 				NSLog(":EVENT:ERROR: Error getting info from event \(id): \(error)")
@@ -211,6 +239,21 @@ class EventController: UIViewController, UIGestureRecognizerDelegate {
 	}
 	
 	
+	func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer!
+	{
+		
+		if overlay is MKTileOverlay
+		{
+			var renderer = MKTileOverlayRenderer(overlay:overlay)
+			
+			renderer.alpha = 0.8
+			
+			return renderer
+		}
+		return nil
+	}
+	
+	
 	/**
 	Gets the device language. The only recognized languages are Spanish, English and Basque.
 	If the device has another language, Spanish will be selected by default.

+ 3 - 2
app/Sync.swift

@@ -329,9 +329,9 @@ class Sync{
 					defaults.set(value, forKey: name)
 				}
 				
-				
 				let start: Int = row.indexOf(target: ",\"")! + 1
 				let end: Int = row.length - 1
+
 				if (start == end){
 					row = ""
 				}
@@ -400,7 +400,8 @@ class Sync{
 							query.setValue(Int(version), forKey: "version")
 						}
 						
-						// Save the row
+						// Save the version
+
 						try context.save()
 					}
 					catch let error as NSError  {