我可以MKMapView通过使用纬度和经度对我进行注释,但是,我需要使用位置的源是使用街道地址而不是Lat和Long.例如1234 West 1234 east,San Francisco,CA ...
这有什么关系CLLocationManager吗?
有没有人尝过这个?
是否可以移动MKAnnotation的坐标而无需在地图中添加和删除注释?
当用户使用地图视图移动时,我想添加一些逻辑,即他进行平移触摸.但是当我添加手势识别器并且我想记录触摸时,没有任何反应.当我在另一个视图控制器中尝试它并将识别器添加到控制器的视图时,它可以正常工作.
这是我的代码(map视图是应用程序委托的属性,因为即使它不可见,我还需要用它做一些其他的事情):
- (void)viewDidLoad
{
...
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(showPan)];
[appDelegate.mapView addGestureRecognizer:panGesture];
[panGesture release];
}
- (void)showPan
{
NSLog(@"pan!");
}
Run Code Online (Sandbox Code Playgroud)
我使用最新的iOS 4.2.1
谢谢你的建议.
我的应用程序中有一个方形MKMapView,我希望设置一个中心点和视图的确切高度/宽度(以米为单位).
创建MKCoordinateRegion并将地图设置为它(如此代码中所示...
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(center_coord, 1000.0, 1000.0);
[self.mapView setRegion:region animated:YES];
Run Code Online (Sandbox Code Playgroud)
..)无法正常工作,因为在这里使用区域只意味着至少显示该区域,通常比区域更多.
我打算使用setVisibleMapRect:animated:方法,因为我相信这会缩放到实际传递的MKMapRect.
那么,有一种简单的方法可以在MKcoordinateRegion和MKMapRect之间进行转换吗?也许获得该区域的左上角和右下角坐标,并使用它们来制作MKMapRect?
我在Map Kit函数参考中看不到任何方便的东西.
(使用iOS 5,Xcode 4.2)
从iOS 7到8,我的代码运行良好.昨天更新了我的引脚上的自定义图像被标准引脚图像替换.有什么建议?
我的代码:
extension ViewController: MKMapViewDelegate {
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView! {
if annotation is MKUserLocation {
return nil
}
let reuseId = String(stringInterpolationSegment: annotation.coordinate.longitude)
var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
pinView!.canShowCallout = true
pinView!.image = getRightImage(annotation.title!!)
}
let button = UIButton(type: UIButtonType.DetailDisclosure)
pinView?.rightCalloutAccessoryView = button
return pinView
}
}
Run Code Online (Sandbox Code Playgroud)
获取图像的函数UIImage根据名称返回:
func getRightImage (shopName:String)-> UIImage{
var correctImage = UIImage()
switch shopName
{
case …Run Code Online (Sandbox Code Playgroud) 问题是 - 有没有办法限制MKMapView的最大缩放级别?或者有没有办法跟踪用户何时缩放到没有可用地图图像的级别?
您可能知道Apple最近宣布推出iOS 6,并附带自己的新地图.我刚刚在新版iOS上运行我的应用程序,它在MKMapView新的Apple Maps中用作标准地图.它可能很棒,但我的应用程序依赖于谷歌地图,因为我使用他们的数据和路线.有什么方法我仍然可以使用谷歌地图而不是苹果自己的版本?
是否可以将指示用户所在位置的蓝点更改为MKMapView图像?比如一辆小汽车或任何.png形象?

我正在尝试放大用户位置作为屏幕的中心参考.我有这个代码:
MainViewController.h
#import <UIKit/UIKit.h>
#import "FlipsideViewController.h"
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>
IBOutlet MKMapView *mapView;
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate, MKMapViewDelegate> {
MKMapView *mapView;
}
@property (nonatomic, retain) IBOutlet MKMapView *mapView;
Run Code Online (Sandbox Code Playgroud)
MainViewController.m
@implementation MainViewController
@synthesize mapView;
- (void)viewDidLoad {
[super viewDidLoad];
mapView = [[MKMapView alloc]
initWithFrame:self.view.bounds
];
mapView.showsUserLocation = YES;
mapView.mapType = MKMapTypeHybrid;
mapView.delegate = self;
[self.view addSubview:mapView];
}
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
MKCoordinateRegion region;
MKCoordinateSpan span;
span.latitudeDelta = 0.005;
span.longitudeDelta = 0.005;
CLLocationCoordinate2D location;
location.latitude = userLocation.coordinate.latitude;
location.longitude = …Run Code Online (Sandbox Code Playgroud) 如何在iOS中禁用用户与整个地图(MKMapView)的互动?我只想禁用缩放,点击等,并显示静态地图.[self.mapView setUserInteractionEnabled:NO]没用.在Stack上找不到谷歌或其他答案的工作解决方案(如果你找到一个有效的答案,请点击链接..).针对iOS 5.应该有一种更简单的方法来实现这一目标.
mkmapview ×10
objective-c ×6
ios ×5
iphone ×4
mapkit ×3
animation ×1
cocoa-touch ×1
geocoding ×1
google-maps ×1
gps ×1
ios6 ×1
ios9 ×1
mkannotation ×1
mkmaprect ×1
userlocation ×1
zoom ×1