每当我尝试返回当前位置的纬度/经度坐标时,我的应用程序崩溃,没有解释错误...
NSLog(@"%@", mapView.userLocation.location.coordinate);
Run Code Online (Sandbox Code Playgroud)
我等到电话找到了位置......
使用核心数据存储MKCoordinateRegion的最佳方法是什么?我假设有一种方法可以将其转换为二进制数据?
非常感谢
儒勒
我在地图上有2到10个注释引脚.当我点击一个按钮时,我希望地图缩小并居中,以便用户可以看到所有的针脚.我怎样才能做到这一点?
提前致谢
由于苹果在iOS6中恢复了谷歌地图,如果我MKMapView在我的iPhone应用程序中使用它,它会自动使用谷歌地图吗?
我喜欢iOS 6中的新自动布局功能,但是当我将它与MKAnnotationView子类结合使用时,我遇到了一些麻烦.
我在初始化方法中禁用了自动调整掩码转换.
self.translatesAutoresizingMaskIntoConstraints = NO;
Run Code Online (Sandbox Code Playgroud)
但是当我加载使用我的子类的注释的MKMapView时,应用程序抛出NSInternalInconsistencyException.
*** Assertion failure in -[ENMapAnnotationView layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2372/UIView.m:5776
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layoutSubviews. ENMapAnnotationView's implementation of -layoutSubviews needs to call super.'
Run Code Online (Sandbox Code Playgroud)
我没有覆盖-layoutSubviews,所以对我看来,Apple的MKAnnotationView实现还没有为自动布局做好准备.有没有一些聪明的方法来解决MKAnnotationView中缺少自动布局支持所以我可以在我的子类中使用自动布局?
我实现了一个扩展的类MKOverlay,我找不到MKMapPointForCoordinate要做的功能:
public override MKMapRect BoundingMapRect() {
MKMapPoint upperLeft = MKMapPointForCoordinate(CLLocationCoordinate2DMake(Coordinate));
return new MKMapRect();
}
Run Code Online (Sandbox Code Playgroud)
请告知这种方法在哪里?
我的最终结果是我想将图像作为叠加层放置在地图上.
我在点击一个图钉时尝试添加一个视图,但只显示标题和副标题,而不是我添加的视图.
这是我的代码
-(void) inserirMapa {
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
NSMutableArray *pins = [[NSMutableArray alloc]init]; //array de Annotations
for(int iCnt = 0; iCnt < [_listaPins count]; iCnt++) {
Pin *pin = (Pin *) [_listaPins objectAtIndex:iCnt];
CLLocationCoordinate2D start;
start.latitude = pin.place.latitude;
start.longitude = pin.place.longitude;
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(start, 800, 800);
[_myMapView setRegion:[_myMapView regionThatFits:region] animated:YES];
// Add an annotation
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
point.coordinate = start;
point.title = @"Where am I?";
point.subtitle = @"I'm here!!!";
[_myMapView addAnnotation:point];
[pins addObject:point];//adiciona …Run Code Online (Sandbox Code Playgroud) 我正在使用MapView,其中添加了一个城市内的一些引脚.此外,当前用户位置显示在地图中.有了这两件事(用户位置和引脚),我想在标签中显示用户所在的最近的引脚.
我的应用程序的一部分包含一个mapview,它会根据关键字自动搜索.我在mapview中添加了一个文本框和搜索按钮,但我注意到之前搜索中的引脚没有清除.在新搜索之前如何清除所有引脚的地图?
import UIKit
import MapKit
import CoreLocation
import iAd
class MapClass: UIViewController, CLLocationManagerDelegate, UISearchBarDelegate, ADBannerViewDelegate {
var searchController:UISearchController!
var annotation:MKAnnotation!
var localSearchRequest:MKLocalSearchRequest!
var localSearch:MKLocalSearch!
var localSearchResponse:MKLocalSearchResponse!
var error:NSError!
var pointAnnotation:MKPointAnnotation!
var pinAnnotationView:MKPinAnnotationView!
var holidayKeyWord = NSString()
@IBOutlet var mapSearchTextbox: UITextField!
@IBOutlet weak var mapView: MKMapView!
@IBOutlet var adBannerView: ADBannerView!
var locationManager: CLLocationManager!
let searchRadius: CLLocationDistance = 2000
override func viewDidLoad() {
super.viewDidLoad()
holidayKeyWord = "Restaurant"
println(holidayKeyWord)
mapSearchTextbox.text = holidayKeyWord as String
self.canDisplayBannerAds = true
self.adBannerView?.delegate = self
self.adBannerView?.hidden = false …Run Code Online (Sandbox Code Playgroud) 我有一个CLLocationcooridinate2d的数组内容和位置详细信息.我把它放在带有Uibutton的tableview单元格上,我正在做的是尝试通过Uibuttom传递特定的单元格信息并开始一个新的地图视图视图并开始导航.这是我的代码:
var tripspot:[tripSpot] = [
tripSpot( title: "????", coordinate: CLLocationCoordinate2DMake(24.149062, 120.684891), regionRadius: 300.0, location: "????????", type: "Food",cllocation:CLLocation(latitude: 24.181143, longitude: 120.593158))
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("MapCell") as! mapTableViewCell
if searchController.active{
cell.title.text = searchResults[indexPath.row].title
cell.location.text = searchResults[indexPath.row].location
cell.naviButton.tag = indexPath.row
cell.naviButton.addTarget(self, action: Selector("tapDidNavi"), forControlEvents: .TouchUpInside)
return cell
}else{
cell.title.text = tripspot[indexPath.row].title
cell.location.text = tripspot[indexPath.row].location
cell.naviButton.tag = indexPath.row
cell.naviButton.addTarget(self, action: Selector("tapDidNavi"), forControlEvents: .TouchUpInside)
print(cell.naviButton.tag.description)
return cell
}
}
@IBAction func tapDidNavi(sender: UIButton){
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的建议!
mapkit ×10
ios ×5
iphone ×4
mkmapview ×4
swift ×3
objective-c ×2
xcode ×2
autolayout ×1
c# ×1
cocoa-touch ×1
google-maps ×1
ios8 ×1
mkoverlay ×1
uitableview ×1
xamarin.ios ×1