我正在制作一款专为仅在密苏里州本地设计的iPhone应用程序.所以我的想法是将地图限制在密苏里州附近的密苏里州/地区.我让地图工作正常,显示用户的位置,如果他们更新位置,那么引脚也会移动.我可以使用自定义注释之类的东西吗?或者我可以检查用户位置并确定它是否具有某个纬度,长并显示基于此的地图?
我在制作这个项目时正在使用xCode.
我有一个带有坐标的数组字典的plist(存储为字符串).
我想从每个数组创建一个CLLocationCoordinate2D并为地图创建一个叠加层.
我做到了 -
NSString *thePath = [[NSBundle mainBundle] pathForResource:@"Roots" ofType:@"plist"];
NSDictionary *pointsDic = [[NSDictionary alloc] initWithContentsOfFile:thePath];
NSArray *pointsArray = [NSArray arrayWithArray:[pointsDic objectForKey:@"roade1"]];
CLLocationCoordinate2D pointsToUse[256];
for(int i = 0; i < 256; i++) {
CGPoint p = CGPointFromString([pointsArray objectAtIndex:i]);
pointsToUse[i] = CLLocationCoordinate2DMake(p.x,p.y);
NSLog(@"coord %f",pointsToUse [i].longitude);
NSLog(@"coord %f",pointsToUse [i].latitude);
}
MKPolyline *myPolyline = [MKPolyline polylineWithCoordinates:pointsToUse count:256];
[[self mv] addOverlay:myPolyline];
Run Code Online (Sandbox Code Playgroud)
但应用程序崩溃没有任何错误.(顺便说一句,当我删除addOverLay方法时,应用程序不会崩溃).
我有两个问题 -
我试图将pointsArray计数设置为CLLocationCoordinate2D的参数,如下所示 -
CLLocationCoordinate2D pointsToUse [pointsArray count];
我收到了一个错误.如何动态设置CLLocationCoordinate2D?
谢谢你的帮助.沙尼
如何使用mapkit获取当前位置的邮政编码,我没有找到任何用于获取此文档的API.我使用了CLLocationManager的坐标,attitue,水平,垂直,航向和速度参数,但未能获得邮政编码.
任何人都可以给我API或示例代码来完成它.
是否可以使用iPhone中的当前位置获取邮政编码?
在我的viewWillAppear中我有一个视图
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
[point setCoordinate:(myLocation)];
[point setTitle:@"Here it is!"];
[mapView addAnnotation:point];
[mapView setRegion:adjustedRegion animated:YES];
Run Code Online (Sandbox Code Playgroud)
这就像我想要的那样为地图增加了一点.但是我必须点击它才能看到标注.
如何默认显示标注?
我尝试在以下之后添加:
[self.mapView selectAnnotation:annotation animated:YES];
但它似乎没有用......我必须使用真正的注释而不是MKPointAnnotation来做到这一点吗?
我想知道当我在mapview中设置蓝点(我的位置)和另一个引脚时,是否有办法进行动态缩放...当我加载mapview时,我想在同一帧中显示这两个点.. .可能吗?谢谢
我正在使用这里解释的代码(Jacob的一个)实现一个自定义的MKAnnotationView标注,它实际上放置了另一个Custom AnnotationView,因为选择了Annotation:
MKAnnotationView - 锁定自定义注释视图以固定位置更新
一切都很好,但我有一些奇怪的行为.点击自定义标注后,它将关闭标注,但之后会停止调用regionDidChangeAnimated委托方法.
我错过了什么?我可以照常平移地图,但它不会调用该委托方法.虽然如果放大或缩小它会被调用.
在为我正在放置的AnnotationView添加自定义CallOut之前,这种情况从未发生过.
Thx提前.
此致,艾伦//
我有一个mapView与annotationViews和userLocation蓝点.
我使用以下代码获取蓝点:
[self.mapView setShowsUserLocation:YES];
Run Code Online (Sandbox Code Playgroud)
该annotationViews可选择,并有标注.
但是,如果一个annotationView接近用户的位置,有时蓝点会窃取触摸.
我可以设置一个annotationView.enabled = NO;,它会显示annotationView但它不会从附近偷一个触摸annotationView.
我想将用户位置蓝点设置annotationView为enabled = NO,因此它不会触及附近的触摸annotationViews.
我可以设置蓝点的标题:
self.mapView.userLocation.title = @"title here..."
Run Code Online (Sandbox Code Playgroud)
但我无法禁用蓝点.
谢谢!
嗨,如果用户触摸,我正在尝试实现Annotations分组和动画.
我确实看了一个不同的集群库解决方案,但这对我不起作用,因为我在同一个坐标中有多个注释.
所以这就是我想要做的
1-我在同一个地方(坐标)中识别出多个注释的位置?怎么能实现这个?在相同的坐标中找到注释并创建一个新的组注释?
2-更改该注释的颜色(让用户知道)我可以在这个方法上做到这一点
-(MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation;
如果用户触摸该组中的注释,则注释将围绕其位置以圆圈移动.
到目前为止,我在地图上的所有注释都有一个非常黑暗的阴影.
我想现在专注于第一项任务 - 分组
我不是要求代码示例我可以做到这一点我只需要帮助找出用于实现任务的方法.

谢谢你的帮助.
我收到此错误消息:
2017-01-02 15:29:07.886534 TimeStamp [665:191103] [LogMessageLogging] 6.1无法检索CarrierName.CTError:domain-2,code-5,errStr:((os/kern)失败)
我想要每隔一分钟让应用程序更新我的位置到服务器.
我还在plist上设置了这两个键:
Privacy - Location Always Usage Description
Privacy - Location When In Use Usage Description
Run Code Online (Sandbox Code Playgroud)
并在"capibilities"中启用"后台模式","位置更新"
我用谷歌搜索,发现很多人在将Xcode更新为8.1后遇到了这个问题.并且只有在使用MapKit时才会出现此问题.我想知道如何解决它?我是新手.我希望有人可以帮我解决这个问题.非常感谢.
import UIKit
import MapKit
import APScheduledLocationManager
import CoreLocation
class MapViewController: UIViewController, MKMapViewDelegate, APScheduledLocationManagerDelegate {
@IBOutlet weak var mapView: MKMapView!
var manager: APScheduledLocationManager!
let radius = 1000.0
let locations = [
["title": "New York, NY", "latitude": 40.713054, "longitude": -74.007228, "image": UIImage(named: "tram")?.resizeImage(newWidth: 40) as Any],
["title": "Los Angeles, CA", "latitude": 34.052238, "longitude": -118.243344, "image": UIImage(named: "dark")?.resizeImage(newWidth: …Run Code Online (Sandbox Code Playgroud) 我的问题是关于MapKit的iOS 11中引入的群集功能.
我想在MapView上集群引脚.当我放大和缩小时,我可以看到引脚聚集和非聚集.
但是当所有引脚都可见时,我无法再将它们聚集在一起.无论我放大或缩小多少.有时一个偶数针仍然没有聚集.
我正在自定义注释和聚集注释视图.
我遵循与WWDC 2017示例代码完全相同的代码,但是在Obj-C中.
谁能指导我哪里可以成为问题?
mapkit ×10
ios ×7
objective-c ×4
iphone ×3
annotations ×2
mkmapview ×2
background ×1
ios11 ×1
ios5 ×1
swift ×1
userlocation ×1
xcode ×1